---
id: CVE-2026-98907
title: 'btrfs: protect sb_write_pointer() with invalidate lock'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  btrfs: protect sb_write_pointer() with invalidate lock

  sb_write_pointer() reads the super block from the block device page cache
  using read_cache_page_gfp(). This has …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    c9b38f2eab5a9bd74087390318d93ccdd8d2deff
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    a0dc28359a8a26f970ccd250b126a2e0bd4118a5
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    1a6c92aa7242a04e4349c0ea213dbf703a1c9891
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    a58cab4535f085adc0f93d7efd7952ef437371da
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    80cd97c5e90096d040a623851795eac92fbd0ff1
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    123b9a545f4d0348e81f558a032bf2a93ee5722f
  - Linux < 5.15.222
  - Linux < 6.1.189
  - Linux < 6.6.158
  - Linux < 6.12.111
  - Linux < 6.18.53
  - Linux (all versions)
published: '2026-10-23'
updated: '2026-10-23'
sourceUpdated: '2026-10-23T11:54:44.224Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98907'
references:
  - url: 'https://git.kernel.org/stable/c/c9b38f2eab5a9bd74087390318d93ccdd8d2deff'
  - url: 'https://git.kernel.org/stable/c/a0dc28359a8a26f970ccd250b126a2e0bd4118a5'
  - url: 'https://git.kernel.org/stable/c/1a6c92aa7242a04e4349c0ea213dbf703a1c9891'
  - url: 'https://git.kernel.org/stable/c/a58cab4535f085adc0f93d7efd7952ef437371da'
  - url: 'https://git.kernel.org/stable/c/80cd97c5e90096d040a623851795eac92fbd0ff1'
  - url: 'https://git.kernel.org/stable/c/123b9a545f4d0348e81f558a032bf2a93ee5722f'
tags:
  - cve.org
ingestedAt: '2026-10-23T13:24:55.574Z'
---

## Overview

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

btrfs: protect sb_write_pointer() with invalidate lock

sb_write_pointer() reads the super block from the block device page cache
using read_cache_page_gfp(). This has the same race with BLKBSZSET as the
one fixed by commit 3f29d661e568 ("btrfs: sync read disk super and set
block size").

Take the mapping invalidate lock around read_cache_page_gfp() to
serialize the read against block size changes.

## Affected

- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < c9b38f2eab5a9bd74087390318d93ccdd8d2deff`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < a0dc28359a8a26f970ccd250b126a2e0bd4118a5`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 1a6c92aa7242a04e4349c0ea213dbf703a1c9891`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < a58cab4535f085adc0f93d7efd7952ef437371da`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 80cd97c5e90096d040a623851795eac92fbd0ff1`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 123b9a545f4d0348e81f558a032bf2a93ee5722f`
- `Linux < 5.15.222`
- `Linux < 6.1.189`
- `Linux < 6.6.158`
- `Linux < 6.12.111`
- `Linux < 6.18.53`
- `Linux (all versions)`

## Remediation

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