lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ