CVE 7 HIGH

mm/slab: return NULL early from kmalloc_nolock() in NMI on UP_CVE-2026-46029

7 / 10
HIGH
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

Description

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

mm/slab: return NULL early from kmalloc_nolock() in NMI on UP

On UP kernels (!CONFIG_SMP), spin_trylock() is a no-op that
unconditionally succeeds even when the lock is already held. As a
result, kmalloc_nolock() called from NMI context can re-enter the slab
allocator and acquire n->list_lock that the interrupted context is
already holding, corrupting slab state.

With CONFIG_DEBUG_SPINLOCK on UP, the following BUG is triggered with
the slub_kunit test module:

BUG: spinlock trylock failure on UP on CPU#0, kunit_try_catch/243
[...]
Call Trace:
<NMI>
dump_stack_lvl+0x3f/0x60
do_raw_spin_trylock+0x41/0x50
_raw_spin_trylock+0x24/0x50
get_from_partial_node+0x120/0x4d0
___slab_alloc+0x8a/0x4c0
kmalloc_nolock_noprof+0x164/0x310
[...]
</NMI>

Fix this by returning NULL early when invoked from NMI on a UP kernel.

Basic Information

ID CVE-2026-46029
Source Linux
Published May 27, 2026 at 12:56
Modified May 30, 2026 at 10:46

Affected Product

Vendor Linux
Product Linux
Version af92793e52c3a99b828ed4bdd277fd3e11c18d08
Affected Versions Linux Linux af92793e52c3a99b828ed4bdd277fd3e11c18d08
Linux Linux af92793e52c3a99b828ed4bdd277fd3e11c18d08
Linux Linux af92793e52c3a99b828ed4bdd277fd3e11c18d08
Linux Linux 6.18

References

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.