---
id: CVE-2025-71072
title: 'shmem: fix recovery on rename failures'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  shmem: fix recovery on rename failures

  maple_tree insertions can fail if we are seriously short on memory;
  simple_offset_rename() does not recover well if it runs into…
severity: high
cvss: 8.2
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= a2e459555c5f9da3e619b7e47a63f98574dc75f1 <
    8fdbc6f9a994eb327868a4aa74a58953f31a2d0f
  - >-
    Linux >= a2e459555c5f9da3e619b7e47a63f98574dc75f1 <
    4b0fe71fb3965d0db83cdfc2f4fe0b3227d70113
  - >-
    Linux >= a2e459555c5f9da3e619b7e47a63f98574dc75f1 <
    4642686699a46718d7f2fb5acd1e9d866a9d9cca
  - >-
    Linux >= a2e459555c5f9da3e619b7e47a63f98574dc75f1 <
    e1b4c6a58304fd490124cc2b454d80edc786665c
  - Linux 6.6
published: '2026-01-13'
updated: '2026-10-21'
sourceUpdated: '2026-10-21T12:38:31.063Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-71072'
references:
  - url: 'https://git.kernel.org/stable/c/8fdbc6f9a994eb327868a4aa74a58953f31a2d0f'
  - url: 'https://git.kernel.org/stable/c/4b0fe71fb3965d0db83cdfc2f4fe0b3227d70113'
  - url: 'https://git.kernel.org/stable/c/4642686699a46718d7f2fb5acd1e9d866a9d9cca'
  - url: 'https://git.kernel.org/stable/c/e1b4c6a58304fd490124cc2b454d80edc786665c'
tags:
  - cve.org
epss: 0.00361
epssPercentile: 0.29686
ingestedAt: '2026-10-21T12:48:53.675Z'
---

## Overview

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

shmem: fix recovery on rename failures

maple_tree insertions can fail if we are seriously short on memory;
simple_offset_rename() does not recover well if it runs into that.
The same goes for simple_offset_rename_exchange().

Moreover, shmem_whiteout() expects that if it succeeds, the caller will
progress to d_move(), i.e. that shmem_rename2() won't fail past the
successful call of shmem_whiteout().

Not hard to fix, fortunately - mtree_store() can't fail if the index we
are trying to store into is already present in the tree as a singleton.

For simple_offset_rename_exchange() that's enough - we just need to be
careful about the order of operations.

For simple_offset_rename() solution is to preinsert the target into the
tree for new_dir; the rest can be done without any potentially failing
operations.

That preinsertion has to be done in shmem_rename2() rather than in
simple_offset_rename() itself - otherwise we'd need to deal with the
possibility of failure after successful shmem_whiteout().

## Affected

- `Linux >= a2e459555c5f9da3e619b7e47a63f98574dc75f1 < 8fdbc6f9a994eb327868a4aa74a58953f31a2d0f`
- `Linux >= a2e459555c5f9da3e619b7e47a63f98574dc75f1 < 4b0fe71fb3965d0db83cdfc2f4fe0b3227d70113`
- `Linux >= a2e459555c5f9da3e619b7e47a63f98574dc75f1 < 4642686699a46718d7f2fb5acd1e9d866a9d9cca`
- `Linux >= a2e459555c5f9da3e619b7e47a63f98574dc75f1 < e1b4c6a58304fd490124cc2b454d80edc786665c`
- `Linux 6.6`

## Remediation

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