Linux Kernel PREEMPT_RT SMC91X IRQ Context Issue

Vulnerability

A vulnerability in the Linux kernel's handling of interrupt request (IRQ) contexts within the SMC91X network driver has been identified. When the driver is compiled with PREEMPT_RT support, a workqueue management issue arises, leading to a 'workqueue leaked atomic, lock or RCU' error. This problem occurs because the custom lock management in the driver improperly handles IRQs under PREEMPT_RT, causing a failure to restore IRQs after they are disabled. As a result, certain operations cannot complete correctly, potentially leading to degraded system performance or stability.

Impact

The vulnerability causes a workqueue management error, where the system fails to properly handle locks and interrupt requests, leading to potential performance degradation or stability issues.

Reproduction

To reproduce this issue, compile the Linux kernel with PREEMPT_RT support and load the SMC91X network driver. Monitor the system logs for the 'workqueue leaked atomic, lock or RCU' error, which indicates that the driver is not correctly managing IRQ contexts under PREEMPT_RT.

Remediation

The issue has been addressed by modifying the driver to use a proper IRQ-safe locking mechanism. Users should apply the latest patches available in the Linux kernel stable tree to resolve this vulnerability.

Added: Jan 14, 2026, 3:33 PM
Updated: Jan 14, 2026, 4:43 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
3.9
remediation
7.7
relevance
2.1
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.