CVE-2025-40164: usbnet: Fix using smp_processor_id() in preemptible code warnings
In the Linux kernel, the following vulnerability has been resolved:
usbnet: Fix using smp_processor_id() in preemptible code warnings
Syzbot reported the following warning:
BUG: using smp_processor_id() in preemptible [00000000] code: dhcpcd/2879
caller is usbnet_skb_return+0x74/0x490 drivers/net/usb/usbnet.c:331
CPU: 1 UID: 0 PID: 2879 Comm: dhcpcd Not tainted 6.15.0-rc4-syzkaller-00098-g615dca38c2ea #0 PREEMPT(voluntary)
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x16c/0x1f0 lib/dump_stack.c:120
check_preemption_disabled+0xd0/0xe0 lib/smp_processor_id.c:49
usbnet_skb_return+0x74/0x490 drivers/net/usb/usbnet.c:331
usbnet_resume_rx+0x4b/0x170 drivers/net/usb/usbnet.c:708
usbnet_change_mtu+0x1be/0x220 drivers/net/usb/usbnet.c:417
__dev_set_mtu net/core/dev.c:9443 [inline]
netif_set_mtu_ext+0x369/0x5c0 net/core/dev.c:9496
netif_set_mtu+0xb0/0x160 net/core/dev.c:9520
dev_set_mtu+0xae/0x170 net/core/dev_api.c:247
dev_ifsioc+0xa31/0x18d0 net/core/dev_ioctl.c:572
dev_ioctl+0x223/0x10e0 net/core/dev_ioctl.c:821
sock_do_ioctl+0x19d/0x280 net/socket.c:1204
sock_ioctl+0x42f/0x6a0 net/socket.c:1311
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:906 [inline]
__se_sys_ioctl fs/ioctl.c:892 [inline]
__x64_sys_ioctl+0x190/0x200 fs/ioctl.c:892
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xcd/0x260 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
For historical and portability reasons, the netif_rx() is usually
run in the softirq or interrupt context, this commit therefore add
local_bh_disable/enable() protection in the usbnet_resume_rx().
Security readout for executives and security teams
Plain-English summary
CVE-2025-40164 is a Linux kernel usbnet flaw reported by syzbot. It can trigger a kernel warning when USB networking code runs in a context where CPU-specific access is unsafe. The sources do not show data theft, remote code execution, or active exploitation.
Executive priority
Handle through normal kernel patch management unless USB networking is material to production, appliances, or embedded fleets. There is no sourced evidence of active exploitation, but kernel correctness issues should not be left untracked in managed Linux baselines.
Technical view
The issue is in drivers/net/usb/usbnet.c. During MTU change and receive resume paths, usbnet_resume_rx() can reach usbnet_skb_return(), where smp_processor_id() is used from preemptible code. The kernel fix adds local_bh_disable()/local_bh_enable() protection around usbnet_resume_rx() behavior.
Likely exposure
Exposure is limited to Linux systems running affected kernel versions with the usbnet driver path in use, typically USB network adapters or devices using USB networking. The source bundle lists Linux as affected and provides stable kernel commit references, but does not map specific distribution packages.
Exploitation context
The evidence is a syzbot-triggered kernel warning involving dhcpcd and MTU handling. The bundle marks KEV as false, and no cited source states active exploitation, public exploit code, or real-world abuse.
Researcher notes
This appears to be a kernel concurrency/context correctness fix rather than a clearly demonstrated security exploit. Impact is not quantified by CVSS or CWE in the provided record. Researchers should focus on affected kernel lineage, usbnet usage, and whether vendor backports include the local_bh protection.
Mitigation direction
Update to a Linux kernel build containing the referenced stable fixes.
Check distribution vendor advisories for the corrected package version.
Prioritize systems using USB network adapters or embedded USB networking.
Follow vendor guidance if running custom or long-term kernel builds.
Validation and detection
Inventory Linux kernel versions across affected hosts and images.
Identify systems loading or depending on usbnet-based drivers.
Confirm vendor kernel changelogs include CVE-2025-40164 or the referenced commits.
Review kernel logs for related preemptible-code warnings if USB networking is used.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-40164 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.