CVE-2026-43311
Incorrect IRQ Handling in NVIDIA Tegra PMC
Publication date: 2026-05-08
Last updated on: 2026-05-08
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| nvidia | linux_kernel | * |
Helpful Resources
Exploitability
| 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 on Tegra platforms during system resume from suspend. The issue is that the function generic_handle_irq() is called from a non-interrupt context, which is unsafe and causes a warning.
The problem arises because generic_handle_irq() must be called in a hard IRQ context, but it was being called in a context where this is not guaranteed, leading to potential instability.
The fix involves deferring the call to generic_handle_irq() to an IRQ work that runs in the proper hard IRQ context. For PREEMPT_RT kernels, a special IRQ_WORK_INIT_HARD variant is used to ensure the work runs in hard IRQ context rather than a preemptible thread.
How can this vulnerability impact me? :
This vulnerability can cause warnings and potentially unsafe behavior during system resume from suspend on Tegra platforms running the affected Linux kernel.
Calling generic_handle_irq() from a non-interrupt context may lead to improper interrupt handling, which could cause system instability or unexpected behavior.
However, the fix ensures that the call is deferred to the correct context, preventing these issues.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by observing system warnings related to unsafe calls to generic_handle_irq() during resume from system suspend on Tegra platforms.
Specifically, look for kernel warning messages similar to the following in system logs:
- WARNING: CPU: 0 PID: <pid> at kernel/irq/irqdesc.c:666
- Call trace including handle_irq_desc, tegra186_pmc_wake_syscore_resume, syscore_resume, suspend_devices_and_enter, and pm_suspend
To check for these warnings, you can use commands such as:
- dmesg | grep -i "generic_handle_irq"
- journalctl -k | grep -i "generic_handle_irq"
- grep -i "generic_handle_irq" /var/log/kern.log
What immediate steps should I take to mitigate this vulnerability?
The vulnerability is fixed by deferring the generic_handle_irq() call to an IRQ work that executes in hard IRQ context, ensuring safe invocation.
Immediate mitigation steps include:
- Update the Linux kernel on Tegra platforms to a version that includes the fix for this issue.
- Ensure that the IRQ work is initialized using the IRQ_WORK_INIT_HARD variant, especially if using PREEMPT_RT kernels, so that the IRQ work runs in hard IRQ context.
- Avoid calling generic_handle_irq() from non-interrupt contexts in custom kernel modules or drivers.