CVE-2025-38364

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinux54a611b605901c7d5d05b6b8f5d04a6ceb0962aa < d69cd64bd5af41c6fd409313504089970edaf02faffected
LinuxLinux54a611b605901c7d5d05b6b8f5d04a6ceb0962aa < e63032e66bca1d06e600033f3369ba3db3af0870affected
LinuxLinux54a611b605901c7d5d05b6b8f5d04a6ceb0962aa < cf95f8426f889949b738f51ffcd72884411f3a6aaffected
LinuxLinux54a611b605901c7d5d05b6b8f5d04a6ceb0962aa < 9e32f4700867abbd5d19abfcf698dbd0d2ce36a4affected
LinuxLinux54a611b605901c7d5d05b6b8f5d04a6ceb0962aa < fba46a5d83ca8decb338722fb4899026d8d9ead2affected
LinuxLinux6.1affected
LinuxLinux0 < 6.1unaffected
LinuxLinux6.1.146 <= 6.1.*unaffected
LinuxLinux6.6.99 <= 6.6.*unaffected
LinuxLinux6.12.36 <= 6.12.*unaffected
LinuxLinux6.15.5 <= 6.15.*unaffected
LinuxLinux6.16 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

Additional References

References