CVE-2026-46029 mm/slab: return NULL early from kmalloc_nolock() in NMI on UP
A race condition in the Linux kernel slab allocator on uniprocessor systems can cause state corruption and crashes when memory is allocated from NMI context.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-46029?
CVE-2026-46029 is a high-severity vulnerability in Linux kernel, published on 27 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official 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.
Which versions are affected by CVE-2026-46029?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-46029?
Apply the vendor's patch.
Is CVE-2026-46029 being exploited?
There is no known exploitation of CVE-2026-46029 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2026-46029, DEBIAN-CVE-2026-46029, GHSA-272j-64q7-2wx2, UBUNTU-CVE-2026-46029.