Skip to content
Not rated

CVE-2025-38364 maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate()

Description

In the Linux kernel, the following vulnerability has been resolved: maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate() Temporarily clear the preallocation flag when explicitly requesting allocations. Pre-existing allocations are already counted against the request through mas_node_count_gfp(), but the allocations will not happen if the MA_STATE_PREALLOC flag is set. This flag is meant to avoid re-allocating in bulk allocation mode, and to detect issues with preallocation calculations. The MA_STATE_PREALLOC flag should also always be set on zero allocations so that detection of underflow allocations will print a WARN_ON() during consumption. User visible effect of this flaw is a WARN_ON() followed by a null pointer dereference when subsequent requests for larger number of nodes is ignored, such as the vma merge retry in mmap_region() caused by drivers altering the vma flags (which happens in v6.6, at least)

Affected products and versions

Product Affected versions Fixed in
Linux 6.16 earliest → < 6.16 6.16
Linux 6.15 earliest → < 6.15.5 6.15.5
Linux 6.12 earliest → < 6.12.36 6.12.36
Linux 6.6 earliest → < 6.6.99 6.6.99
Linux 6.1 6.1.146
SIMATIC S7-1500 CPU 1518-4 PN/DP MFP 3.1 3.1.5 → latest No fix stated
SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP 3.1 3.1.5 → latest No fix stated
SIPLUS S7-1500 CPU 1518-4 PN/DP MFP 3.1 3.1.5 → latest No fix stated
The 18286 CVEs of Linux →
Track this CVE