CVE-2026-53163

locking/rtmutex: Skip remove_waiter() when waiter is not enqueued

published June 25, 2026

CVSS
—
EPSS
0%
Percentile
1.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

locking/rtmutex: Skip remove_waiter() when waiter is not enqueued

syzbot triggered the following splat in remove_waiter() via

FUTEX_CMP_REQUEUE_PI:

KASAN: null-ptr-deref in range [0x0000000000000a88-0x0000000000000a8f]

class_raw_spinlock_constructor

remove_waiter+0x159/0x1200 kernel/locking/rtmutex.c:1561

rt_mutex_start_proxy_lock+0x103/0x120

futex_requeue+0x10e4/0x20d0

__x64_sys_futex+0x34f/0x4d0

task_blocks_on_rt_mutex() does not arm the waiter upon deadlock detection,

leaving waiter->task nil, where 3bfdc63936dd ("rtmutex: Use waiter::task instead

of current in remove_waiter()") made this fatal.

Furthermore, rt_mutex_start_proxy_lock() should not be calling into remove_waiter()

upon a successfully grabbing the rtmutex. 1a1fb985f2e2 ("futex: Handle early deadlock

return correctly"), moved the remove_waiter() out of __rt_mutex_start_proxy_lock()

(where 'ret' was only ever 0 or < 0) into the wrapper. Tighten this check to

account for try_to_take_rt_mutex().

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00123 · 1.9th percentile
Published
2026-06-25T08:38Z
EPSS history
Timeline
  • 25 JUN 08:38Z
    locking/rtmutex: Skip remove_waiter() when waiter is not enqueued
    cvelistv5