CVE-2023-53475
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2025-10-01

Last updated on: 2025-10-02

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: usb: xhci: tegra: fix sleep in atomic call When we set the dual-role port to Host mode, we observed the following splat: [ 167.057718] BUG: sleeping function called from invalid context at include/linux/sched/mm.h:229 [ 167.057872] Workqueue: events tegra_xusb_usb_phy_work [ 167.057954] Call trace: [ 167.057962] dump_backtrace+0x0/0x210 [ 167.057996] show_stack+0x30/0x50 [ 167.058020] dump_stack_lvl+0x64/0x84 [ 167.058065] dump_stack+0x14/0x34 [ 167.058100] __might_resched+0x144/0x180 [ 167.058140] __might_sleep+0x64/0xd0 [ 167.058171] slab_pre_alloc_hook.constprop.0+0xa8/0x110 [ 167.058202] __kmalloc_track_caller+0x74/0x2b0 [ 167.058233] kvasprintf+0xa4/0x190 [ 167.058261] kasprintf+0x58/0x90 [ 167.058285] tegra_xusb_find_port_node.isra.0+0x58/0xd0 [ 167.058334] tegra_xusb_find_port+0x38/0xa0 [ 167.058380] tegra_xusb_padctl_get_usb3_companion+0x38/0xd0 [ 167.058430] tegra_xhci_id_notify+0x8c/0x1e0 [ 167.058473] notifier_call_chain+0x88/0x100 [ 167.058506] atomic_notifier_call_chain+0x44/0x70 [ 167.058537] tegra_xusb_usb_phy_work+0x60/0xd0 [ 167.058581] process_one_work+0x1dc/0x4c0 [ 167.058618] worker_thread+0x54/0x410 [ 167.058650] kthread+0x188/0x1b0 [ 167.058672] ret_from_fork+0x10/0x20 The function tegra_xusb_padctl_get_usb3_companion eventually calls tegra_xusb_find_port and this in turn calls kasprintf which might sleep and so cannot be called from an atomic context. Fix this by moving the call to tegra_xusb_padctl_get_usb3_companion to the tegra_xhci_id_work function where it is really needed.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-10-01
Last Modified
2025-10-02
Generated
2026-05-07
AI Q&A
2025-10-01
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
nvidia tegra_xhci *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability occurs in the Linux kernel's USB subsystem for Tegra devices. Specifically, when setting the dual-role USB port to Host mode, a function that may sleep (kasprintf) is called from an atomic context, which is invalid and causes a kernel bug (crash). The issue arises because the function tegra_xusb_padctl_get_usb3_companion calls tegra_xusb_find_port, which calls kasprintf that can sleep, but this call happens in an atomic context where sleeping is not allowed. The fix involved moving this call to a different function (tegra_xhci_id_work) where sleeping is permitted.


How can this vulnerability impact me? :

This vulnerability can cause the Linux kernel to crash or become unstable when the affected USB port is set to Host mode on Tegra devices. This can lead to system instability, potential denial of service, and disruption of USB functionality.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

You can detect this vulnerability by checking your system logs for the specific kernel BUG message related to sleeping function called from invalid context in the tegra xhci driver. Use the command: dmesg | grep -i 'BUG: sleeping function called from invalid context' to look for the error trace indicating the issue when setting the dual-role port to Host mode.


What immediate steps should I take to mitigate this vulnerability?

The immediate mitigation is to update your Linux kernel to a version that includes the fix for this vulnerability, where the call to tegra_xusb_padctl_get_usb3_companion is moved to the correct work function (tegra_xhci_id_work) to avoid sleeping in atomic context. Until then, avoid setting the dual-role port to Host mode on affected Tegra systems to prevent triggering the bug.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart