Home

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.

PUBLISHED Reserved 2026-05-13 | Published 2026-05-27 | Updated 2026-05-30 | Assigner Linux




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

Product status

Default status
unaffected

af92793e52c3a99b828ed4bdd277fd3e11c18d08 (git) before a8d95d274be241ad21f6523bf2d6ba0d7d7e46b7
affected

af92793e52c3a99b828ed4bdd277fd3e11c18d08 (git) before d66553204a15bdb257d9ef8aca1e12f5fbb910b2
affected

af92793e52c3a99b828ed4bdd277fd3e11c18d08 (git) before 5b31044e649e3e54c2caef135c09b371c2fbcd08
affected

Default status
affected

6.18
affected

Any version before 6.18
unaffected

6.18.27 (semver)
unaffected

7.0.4 (semver)
unaffected

7.1-rc2 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/a8d95d274be241ad21f6523bf2d6ba0d7d7e46b7

git.kernel.org/...c/d66553204a15bdb257d9ef8aca1e12f5fbb910b2

git.kernel.org/...c/5b31044e649e3e54c2caef135c09b371c2fbcd08

cve.org (CVE-2026-46029)

nvd.nist.gov (CVE-2026-46029)

Download JSON