17 lines
		
	
	
		
			618 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			618 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
Fix crash with actions performed on the underlying interface (MAC address,
 | 
						|
MTU or link state update). This triggers pppoe_flush_dev(), which cleans up
 | 
						|
the device without announcing it in sk->sk_state.
 | 
						|
 | 
						|
Patch by Guillaume Nault (pulled from netdev@vger)
 | 
						|
 | 
						|
--- a/drivers/net/ppp/pppoe.c
 | 
						|
+++ b/drivers/net/ppp/pppoe.c
 | 
						|
@@ -313,7 +313,6 @@ static void pppoe_flush_dev(struct net_d
 | 
						|
 			if (po->pppoe_dev == dev &&
 | 
						|
 			    sk->sk_state & (PPPOX_CONNECTED | PPPOX_BOUND | PPPOX_ZOMBIE)) {
 | 
						|
 				pppox_unbind_sock(sk);
 | 
						|
-				sk->sk_state = PPPOX_ZOMBIE;
 | 
						|
 				sk->sk_state_change(sk);
 | 
						|
 				po->pppoe_dev = NULL;
 | 
						|
 				dev_put(dev);
 |