aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.18/101-pppoe-fix-disconnect-crash.patch
blob: f2e6e45b0bf949a65a7435b61d9fd3f8380a6b3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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);