[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <74a87648-bc02-4edb-9e6a-102cb6621547@actia.se>
Date: Tue, 15 Jul 2025 07:15:51 +0000
From: John Ernberg <john.ernberg@...ia.se>
To: Jakub Kicinski <kuba@...nel.org>
CC: Oliver Neukum <oneukum@...e.com>, Andrew Lunn <andrew+netdev@...n.ch>,
"David S . Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Paolo Abeni <pabeni@...hat.com>, Ming Lei <ming.lei@...onical.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"stable@...r.kernel.org" <stable@...r.kernel.org>
Subject: Re: [PATCH] net: usbnet: Avoid potential RCU stall on LINK_CHANGE
event
Hi Jakub,
On 7/15/25 1:35 AM, Jakub Kicinski wrote:
> On Thu, 10 Jul 2025 08:50:40 +0000 John Ernberg wrote:
>> Having a Gemalto Cinterion PLS83-W modem attached to USB and activating the
>> cellular data link would sometimes yield the following RCU stall, leading
>> to a system freeze:
>
> Do you know which sub-driver it's using?
The modem uses cdc_ether (and option for the TTYs).
> I'm worried that this is still racy.
> Since usbnet_bh checks if carrier is ok and __handle_link_change()
> checks the opposite something must be out of sync if both run.
> Most likely something restored the carrier while we're still handling
> the previous carrier loss.
There could definitely be other factors, I'll try to dig some in
cdc_ether and see if something there could be causing problems for the
usbnet core.
I honestly kinda stopped digging when I found unlink_urbs() being
wrapped with a pause/unpause at another place tied to a commit seeing a
similar issue.
Thanks! // John Ernberg
Powered by blists - more mailing lists