---
id: CVE-2026-53163
title: |-
  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-…
summary: |-
  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-…
severity: none
published: '2026-06-25'
updated: '2026-07-04'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53163'
references:
  - url: 'https://git.kernel.org/stable/c/40a25d59e85b3c8709ac2424d44f65610467871e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/4afda3a1da02129568a3a2f1898aa13e6763bcba'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/55363fa0a04524d11efeaadee734d2db1756ed27'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5799f9bd7fee40370b93ab1ddf001cdc7017c14d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6707d7e0b71748cb3cd95bad81dae5fe1b3c8f48'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a388e3dfaf9538a680de5ed43a8ebb5dd45b6e53'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00123
epssPercentile: 0.01758
ingestedAt: '2026-07-04T12:56:09.636Z'
---

## Overview

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().

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
