---
id: CVE-2026-93798
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  btrfs: fix reloc root cleanup in merge_reloc_roots()

  If the root we got has zero root refs in its root item, we are resetting
  the root's ->reloc_root without using bar…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  btrfs: fix reloc root cleanup in merge_reloc_roots()

  If the root we got has zero root refs in its root item, we are resetting
  the root's ->reloc_root without using bar…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    ab48583aa9948205ff9a6470e23dbff74c565e24
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    63d6b1f04cd91c825329712aa526215ffa5d11ca
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    b78fe9563e2d5ae47805f1e5dc722c91fd30e1f8
  - Linux < 6.12.111
  - Linux < 6.18.53
  - Linux (all versions)
published: '2026-09-24'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T13:17:20.537'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-93798'
references:
  - url: 'https://git.kernel.org/stable/c/63d6b1f04cd91c825329712aa526215ffa5d11ca'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ab48583aa9948205ff9a6470e23dbff74c565e24'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b78fe9563e2d5ae47805f1e5dc722c91fd30e1f8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-24T16:47:15.899Z'
---

## Overview

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

btrfs: fix reloc root cleanup in merge_reloc_roots()

If the root we got has zero root refs in its root item, we are resetting
the root's ->reloc_root without using barriers like we do everywhere else.
Sashiko complained about this while reviewing another patch, and it's
correct (see the Link tag below).

Also, we should not clear BTRFS_ROOT_DEAD_RELOC_TREE from the root unless
the root points to the reloc root we have.

Fix this by using clear_reloc_root(), which issues the memory barrier
after setting the root's ->reloc_root to NULL and before clearing the bit
BTRFS_ROOT_DEAD_RELOC_TREE from the root.

## Remediation

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