[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250715065403.641e4bd7@kernel.org>
Date: Tue, 15 Jul 2025 06:54:03 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: John Ernberg <john.ernberg@...ia.se>
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
On Tue, 15 Jul 2025 07:15:51 +0000 John Ernberg wrote:
> > 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.
Looking at cdc_ether:
static void usbnet_cdc_zte_status(struct usbnet *dev, struct urb *urb)
[...]
if (event->wValue &&
netif_carrier_ok(dev->net))
netif_carrier_off(dev->net);
This looks sus. Is the Gemalto Cinterion PLS83-W ZTE based?
Powered by blists - more mailing lists