---
id: CVE-2025-38364
title: 'maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate()'
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 …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa <
    d69cd64bd5af41c6fd409313504089970edaf02f
  - >-
    Linux >= 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa <
    e63032e66bca1d06e600033f3369ba3db3af0870
  - >-
    Linux >= 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa <
    cf95f8426f889949b738f51ffcd72884411f3a6a
  - >-
    Linux >= 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa <
    9e32f4700867abbd5d19abfcf698dbd0d2ce36a4
  - >-
    Linux >= 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa <
    fba46a5d83ca8decb338722fb4899026d8d9ead2
  - Linux 6.1
published: '2025-07-25'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:07:09.909Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-38364'
references:
  - url: 'https://git.kernel.org/stable/c/d69cd64bd5af41c6fd409313504089970edaf02f'
  - url: 'https://git.kernel.org/stable/c/e63032e66bca1d06e600033f3369ba3db3af0870'
  - url: 'https://git.kernel.org/stable/c/cf95f8426f889949b738f51ffcd72884411f3a6a'
  - url: 'https://git.kernel.org/stable/c/9e32f4700867abbd5d19abfcf698dbd0d2ce36a4'
  - url: 'https://git.kernel.org/stable/c/fba46a5d83ca8decb338722fb4899026d8d9ead2'
tags:
  - cve.org
epss: 0.00189
epssPercentile: 0.08482
ingestedAt: '2026-10-15T05:52:46.089Z'
---

## Overview

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

- `Linux >= 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa < d69cd64bd5af41c6fd409313504089970edaf02f`
- `Linux >= 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa < e63032e66bca1d06e600033f3369ba3db3af0870`
- `Linux >= 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa < cf95f8426f889949b738f51ffcd72884411f3a6a`
- `Linux >= 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa < 9e32f4700867abbd5d19abfcf698dbd0d2ce36a4`
- `Linux >= 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa < fba46a5d83ca8decb338722fb4899026d8d9ead2`
- `Linux 6.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
