CVE-2026-43292

mm/vmalloc: prevent RCU stalls in kasan_release_vmalloc_node

published May 8, 2026

CVSS
—
EPSS
0%
Percentile
5.0
In the wild
Unconfirmed
What it is

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

mm/vmalloc: prevent RCU stalls in kasan_release_vmalloc_node

When CONFIG_PAGE_OWNER is enabled, freeing KASAN shadow pages during

vmalloc cleanup triggers expensive stack unwinding that acquires RCU read

locks. Processing a large purge_list without rescheduling can cause the

task to hold CPU for extended periods (10+ seconds), leading to RCU stalls

and potential OOM conditions.

The issue manifests in purge_vmap_node() -> kasan_release_vmalloc_node()

where iterating through hundreds or thousands of vmap_area entries and

freeing their associated shadow pages causes:

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:

rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P6229/1:b..l

...

task:kworker/0:17 state:R running task stack:28840 pid:6229

...

kasan_release_vmalloc_node+0x1ba/0xad0 mm/vmalloc.c:2299

purge_vmap_node+0x1ba/0xad0 mm/vmalloc.c:2299

Each call to kasan_release_vmalloc() can free many pages, and with

page_owner tracking, each free triggers save_stack() which performs stack

unwinding under RCU read lock. Without yielding, this creates an

unbounded RCU critical section.

Add periodic cond_resched() calls within the loop to allow:

- RCU grace periods to complete

- Other tasks to run

- Scheduler to preempt when needed

The fix uses need_resched() for immediate response under load, with a

batch count of 32 as a guaranteed upper bound to prevent worst-case stalls

even under light load.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00162 · 5.0th percentile
Published
2026-05-08T13:11Z
EPSS history
Timeline
  • 08 MAY 13:11Z
    mm/vmalloc: prevent RCU stalls in kasan_release_vmalloc_node
    cvelistv5