CVE Database›CVE-2026-23134

CVE-2026-23134

kernel: slab: fix kmalloc_nolock() context check for PREEMPT_RT

Loading…

Severity

Moderate

Red Hat Product Security

—

CVSS

Review impact separately from score.

Published · February 14, 2026

Updated · June 28, 2026

Description

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

slab: fix kmalloc_nolock() context check for PREEMPT_RT

On PREEMPT_RT kernels, local_lock becomes a sleeping lock. The current check in kmalloc_nolock() only verifies we're not in NMI or hard IRQ context, but misses the case where preemption is disabled.

When a BPF program runs from a tracepoint with preemption disabled (preempt_count > 0), kmalloc_nolock() proceeds to call local_lock_irqsave() which attempts to acquire a sleeping lock, triggering:

BUG: sleeping function called from invalid context in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 6128 preempt_count: 2, expected: 0

Fix this by checking !preemptible() on PREEMPT_RT, which directly expresses the constraint that we cannot take a sleeping lock when preemption is disabled. This encompasses the previous checks for NMI and hard IRQ contexts while also catching cases where preemption is disabled.

Mitigation

No mitigation is specified in collected source.

CVSS / CWE

CWE not specified