From: Jakub Kicinski <kuba@kernel.org>
To: "Ömer Mete Kaya" <omermetekaya0@gmail.com>,
oneukum@suse.com,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
Cc: netdev@vger.kernel.org, andrew+netdev@lunn.ch,
davem@davemloft.net, edumazet@google.com, pabeni@redhat.com,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
david.laight.linux@gmail.com,
syzbot+04cd90bb99c6ef81a65d@syzkaller.appspotmail.com
Subject: Re: [PATCH net v6] usbnet: fix smp_processor_id() use in preemptible context
Date: Wed, 7 Oct 2026 20:00:49 -0700 [thread overview]
Message-ID: <20261007200049.079aeb75@kernel.org> (raw)
In-Reply-To: <20261004215937.302247-1-omermetekaya0@gmail.com>
On Mon, 5 Oct 2026 00:59:25 +0300 Ömer Mete Kaya wrote:
> tx_complete() calls this_cpu_ptr() before disabling preemption, which
> triggers a BUG when running with CONFIG_DEBUG_PREEMPT:
>
> BUG: using smp_processor_id() in preemptible code in tx_complete
>
> Fix by using get_cpu_ptr()/put_cpu_ptr() which disable preemption and
> return the per-CPU pointer atomically. The usbnet_skb_return() hunk
> is a hardening change: that path runs in softirq context so no warning
> fires there, but the same fix is applied for consistency.
This looks odd, how did we miss this for 8 years.
Greg is probably busy, but would be good to get a confirmation
from either him or some other USB expert that the callbacks
can indeed be called in process context.
FWIW stack trace from syzbot
<TASK>
check_preemption_disabled+0xd8/0xe0 lib/smp_processor_id.c:47
tx_complete+0x237/0x770 drivers/net/usb/usbnet.c:1301
__usb_hcd_giveback_urb+0x38d/0x610 drivers/usb/core/hcd.c:1657
usb_hcd_giveback_urb+0x3ca/0x4a0 drivers/usb/core/hcd.c:1741
vhci_recv_ret_submit drivers/usb/usbip/vhci_rx.c:107 [inline]
vhci_rx_pdu drivers/usb/usbip/vhci_rx.c:242 [inline]
vhci_rx_loop+0x60e/0xa60 drivers/usb/usbip/vhci_rx.c:265
kthread+0x370/0x450 kernel/kthread.c:436
ret_from_fork+0x72b/0xd50 arch/x86/kernel/process.c:158
next prev parent reply other threads:[~2026-10-08 3:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-04 21:59 [PATCH net v6] usbnet: fix smp_processor_id() use in preemptible context Ömer Mete Kaya
2026-10-08 3:00 ` Jakub Kicinski [this message]
2026-10-08 14:16 ` Alan Stern
2026-10-08 16:43 ` Jakub Kicinski
2026-10-08 18:03 ` Alan Stern
2026-10-09 11:31 ` Greg Kroah-Hartman
2026-10-12 19:49 ` Sebastian Andrzej Siewior
2026-10-12 20:26 ` Alan Stern
2026-10-12 21:25 ` Sebastian Andrzej Siewior
2026-10-13 2:09 ` Alan Stern
2026-10-13 9:11 ` Paolo Abeni
2026-10-13 9:22 ` Sebastian Andrzej Siewior
2026-10-13 8:54 ` Oliver Neukum
2026-10-13 9:20 ` Sebastian Andrzej Siewior
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261007200049.079aeb75@kernel.org \
--to=kuba@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=david.laight.linux@gmail.com \
--cc=edumazet@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=omermetekaya0@gmail.com \
--cc=oneukum@suse.com \
--cc=pabeni@redhat.com \
--cc=syzbot+04cd90bb99c6ef81a65d@syzkaller.appspotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.