[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170718.112145.599694527854940189.davem@davemloft.net>
Date: Tue, 18 Jul 2017 11:21:45 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: gfree.wind@....163.com
Cc: paulus@...ba.org, g.nault@...halink.fr, linux-ppp@...r.kernel.org,
netdev@...r.kernel.org
Subject: Re: [PATCH] ppp: Fix false xmit recursion detect with two ppp
devices
From: gfree.wind@....163.com
Date: Mon, 17 Jul 2017 18:34:42 +0800
> From: Gao Feng <gfree.wind@....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.wind@....163.com>
> Signed-off-by: Liu Jianying <jianying.liu@...ai8.com>
Indeed, for a per-ppp lock recursion check we need a per-ppp counter.
Applied, thanks!
Powered by blists - more mailing lists