From: gfree.w...@vip.163.com Date: Mon, 17 Jul 2017 18:34:42 +0800 > From: Gao Feng <gfree.w...@vip.163.com> > > 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: 55454a565836 ("ppp: avoid dealock on recursive xmit") > Signed-off-by: Gao Feng <gfree.w...@vip.163.com> > Signed-off-by: Liu Jianying <jianying....@ikuai8.com>
Indeed, for a per-ppp lock recursion check we need a per-ppp counter. Applied, thanks!