Linux Kernel UIO Driver Missing Spinlock Unlock Vulnerability

Vulnerability

A vulnerability exists in the Linux kernel's UIO (Userspace I/O) subsystem, specifically within the 'uio_dmem_genirq' driver. This issue arises from a concurrency problem introduced by a previous commit, which altered how interrupts are disabled, leading to a spinlock not being properly released under certain conditions. The vulnerability can be reproduced by sending specific data to the UIO device, which triggers a scheduling issue while the system is in an atomic state, causing a kernel warning.

Impact

Exploitation of this vulnerability leads to a 'scheduling while atomic' bug, where the system attempts to perform a task that requires waiting, while it is in a state that does not allow it, potentially causing system instability or crashes.

Reproduction

The vulnerability can be reproduced by writing data to the '/dev/uio0' device. This action simulates a scenario where an interrupt disable request is made while the interrupt is already turned off, causing the spinlock to remain locked and creating a scheduling issue.

Remediation

The vulnerability has been addressed in upstream Linux kernel commits. Users should upgrade to a version that includes these patches.

Added: Dec 9, 2025, 2:12 AM
Updated: Dec 9, 2025, 2:12 AM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
4.3
remediation
7.7
relevance
1.4
threat
4.8
urgency
2.9
incentive
1.7

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