linux-stable/drivers/net/ppp
Gao Feng e5dadc65f9 ppp: Fix false xmit recursion detect with two ppp devices
The global percpu variable ppp_xmit_recursion is used to detect the ppp
xmit recursion to avoid the deadlock, which is caused by one CPU tries to
lock the xmit lock twice. But it would report false recursion when one CPU
wants to send the skb from two different PPP devices, like one L2TP on the
PPPoE. It is a normal case actually.

Now use one percpu member of struct ppp instead of the gloable variable to
detect the xmit recursion of one ppp device.

Fixes: 55454a5658 ("ppp: avoid dealock on recursive xmit")
Signed-off-by: Gao Feng <gfree.wind@vip.163.com>
Signed-off-by: Liu Jianying <jianying.liu@ikuai8.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-18 11:20:33 -07:00
..
bsd_comp.c
Kconfig
Makefile
ppp_async.c networking: make skb_push & __skb_push return void pointers 2017-06-16 11:48:40 -04: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 false xmit recursion detect with two ppp devices 2017-07-18 11:20:33 -07:00
ppp_mppe.c ppp: mppe: Use vsnprintf extension %phN 2017-06-06 15:16:33 -04:00
ppp_mppe.h
ppp_synctty.c net: manual clean code which call skb_put_[data:zero] 2017-06-20 13:30:15 -04:00
pppoe.c networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
pppox.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
pptp.c pptp: Remove unused variable in pptp_release() 2017-06-18 23:53:56 -04:00