Executive brief
A vulnerability was identified in the Linux kernel's debugobjects component when running on Real-Time (RT) enabled systems. This issue could cause the system to crash or behave unexpectedly because the kernel attempts to acquire a lock while it is already waiting for another one, violating internal safety rules. This primarily affects system stability and availability for specialized real-time computing environments.
Technical details
In Linux kernels with PREEMPT_RT enabled, the 'fill_pool()' function in 'lib/debugobjects.c' can trigger a kernel assertion. The root cause is a call to 'rtlock_lock()' when 'current::pi_blocked_on' is already set. In RT-enabled kernels, a task is restricted to blocking on only one lock at a time to maintain the integrity of the priority inheritance chain. If 'fill_pool()' is called while the task is already blocked, it violates this constraint. The fix expands the conditional check in 'debug_objects_fill_pool()' to ensure the pool is not refilled if the task is currently blocked on an RT mutex. Patches have been merged into stable branches including 6.18.x and 7.0.x.
Affected products
- Linux Linux 5.15 to 6.18.37, 7.0.13
Timeline
- 2026-07-01: disclosed
- 2026-07-01: advisory