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

  btrfs: restore active device pointers after failed sprout

  btrfs_init_new_device() switches latest_dev and possibly s_bdev from the
  seed device to the new sprout device…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  btrfs: restore active device pointers after failed sprout

  btrfs_init_new_device() switches latest_dev and possibly s_bdev from the
  seed device to the new sprout device…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= b7cb29e666fe79dda5dbe5f57fb7c92413bf161c <
    2ee5c4bc11007c51f63f0c1be5d3f07f2b404ff7
  - >-
    Linux >= b7cb29e666fe79dda5dbe5f57fb7c92413bf161c <
    e127ac29a52134d0f4cba39d38e4b375deb3d1aa
  - >-
    Linux >= b7cb29e666fe79dda5dbe5f57fb7c92413bf161c <
    b79b4b29003690acfade8241998fc0104ef9c84c
  - >-
    Linux >= b7cb29e666fe79dda5dbe5f57fb7c92413bf161c <
    e0b54613aabeb8e9da597f23b90c6a03d0981986
  - Linux a6e7e218a4d6488d56727a7d9aee1b7e78c0c485
  - Linux >= 5.15.11 < 5.16
  - Linux 5.16
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T11:17:38.697'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-98090'
references:
  - url: 'https://git.kernel.org/stable/c/2ee5c4bc11007c51f63f0c1be5d3f07f2b404ff7'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b79b4b29003690acfade8241998fc0104ef9c84c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e0b54613aabeb8e9da597f23b90c6a03d0981986'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e127ac29a52134d0f4cba39d38e4b375deb3d1aa'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-25T11:06:38.833Z'
epss: 0.00168
epssPercentile: 0.05402
---

## Overview

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

btrfs: restore active device pointers after failed sprout

btrfs_init_new_device() switches latest_dev and possibly s_bdev from the
seed device to the new sprout device before creating the first writable
chunks.

If chunk creation or the subsequent sprout setup fails, the error path
releases the new device without switching those pointers back.
btrfs_show_devname() can then dereference the freed latest_dev and crash.

Restore the active device pointers to the latest seed device before
removing and releasing the failed sprout device.

## Remediation

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