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);
|