CVE-2026-64326

block: skip sync_blockdev() on surprise removal in bdev_mark_dead()

MEDIUM
5.5
CVSS Score
Published: July 25, 2026 at 08:49 AM UTC
Updated: September 4, 2026 at 03:36 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: block: skip sync_blockdev() on surprise removal in bdev_mark_dead() bdev_mark_dead()'s @surprise == true means the device is already gone. The filesystem callback fs_bdev_mark_dead() honours this and skips sync_filesystem(), but the bare block device path (no ->mark_dead op) lost its !surprise guard when the holder ->mark_dead callback was wired up (see Fixes), and now calls sync_blockdev() unconditionally, which can hang forever waiting on writeback that can no longer complete. syzkaller hit this via nvme_reset_work()'s "I/O queues lost" path: nvme_mark_namespaces_dead() -> blk_mark_disk_dead() -> bdev_mark_dead(bdev, true) -> sync_blockdev() blocks in folio_wait_writeback(), wedging the reset worker and every task waiting on it. Skip the sync on surprise removal, matching fs_bdev_mark_dead(); invalidate_bdev() still runs. Orderly removal (surprise == false) is unchanged. Found by FuzzNvme(Syzkaller with FEMU fuzzing framework).

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

6.13 ≤ v < 6.18.396.19 ≤ v < 7.1.46.6 ≤ v < 6.12.966.6 ≤ v < 6.18.396.6 ≤ v < 6.6.1456.6 ≤ v < 7.1.46.6 ≤ v < 7.26.7 ≤ v < 6.12.966.6d8530de5a6e82be0ce17a5fdf727a394bcf6444c
Vendor states this is fixed in 49f06cff50a4ccf3b7a1a662ceb892b3b21a527a (fixed)
Vendor states this is fixed in 9818bcae3c0ca1dde4b9a334125c46676e0a9b29 (fixed)
Vendor states this is fixed in aa4c4a9315764b2b7a7182e72cc5ea87520436b4 (fixed)
Vendor states this is fixed in d6998ddd507c81e3829489a6ead23f17f5acb7fe (fixed)
Vendor states this is fixed in f41cf35ee2a1e31374b3f54e7579c55153506e70 (fixed)
Vendor states this is fixed in 6.12.96 (unaffected)
Vendor states this is fixed in 6.18.39 (unaffected)
Vendor states this is fixed in 6.6 (unaffected)
Vendor states this is fixed in 6.6.145 (unaffected)
Vendor states this is fixed in 7.1.4 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card