linux/drivers/net/ppp
Guillaume Nault 1acea4f6ce ppp: fix pppoe_dev deletion condition in pppoe_release()
We can't rely on PPPOX_ZOMBIE to decide whether to clear po->pppoe_dev.
PPPOX_ZOMBIE can be set by pppoe_disc_rcv() even when po->pppoe_dev is
NULL. So we have no guarantee that (sk->sk_state & PPPOX_ZOMBIE) implies
(po->pppoe_dev != NULL).
Since we're releasing a PPPoE socket, we want to release the pppoe_dev
if it exists and reset sk_state to PPPOX_DEAD, no matter the previous
value of sk_state. So we can just check for po->pppoe_dev and avoid any
assumption on sk->sk_state.

Fixes: 2b018d57ff ("pppoe: drop PPPOX_ZOMBIEs in pppoe_release")
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-10-23 03:30:01 -07:00
..
bsd_comp.c
Kconfig
Makefile
ppp_async.c tty: Fix recursive deadlock in tty_perform_flush() 2013-03-18 16:52:24 -07:00
ppp_deflate.c ppp: deflate: never return len larger than output buffer 2015-01-29 14:50:01 -08:00
ppp_generic.c ppp: fix lockdep splat in ppp_dev_uninit() 2015-09-25 12:38:11 -07:00
ppp_mppe.c ppp: mppe: discard late packet in stateless mode 2015-04-26 23:25:13 -04:00
ppp_mppe.h
ppp_synctty.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-05-01 14:08:52 -07:00
pppoe.c ppp: fix pppoe_dev deletion condition in pppoe_release() 2015-10-23 03:30:01 -07:00
pppox.c net: Pass kern from net_proto_family.create to sk_alloc 2015-05-11 10:50:17 -04:00
pptp.c netfilter: Remove spurios included of netfilter.h 2015-06-18 21:14:32 +02:00