<Vulnerability name="CVE-2026-64326">
    <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
    <ThreatSeverity>Moderate</ThreatSeverity>
    <PublicDate>2026-07-25T00:00:00</PublicDate>
    <Bugzilla id="2507027" url="https://bugzilla.redhat.com/show_bug.cgi?id=2507027" xml:lang="en:us">
kernel: block: skip sync_blockdev() on surprise removal in bdev_mark_dead()
    </Bugzilla>
    <CVSS3 status="draft">
        <CVSS3BaseScore>5.5</CVSS3BaseScore>
        <CVSS3ScoringVector>CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</CVSS3ScoringVector>
    </CVSS3>
    <CWE>CWE-390</CWE>
    <Details xml:lang="en:us" source="Mitre">
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 -&gt;mark_dead op)
lost its !surprise guard when the holder -&gt;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() -&gt; blk_mark_disk_dead() -&gt;
bdev_mark_dead(bdev, true) -&gt; 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).
    </Details>
    <Details xml:lang="en:us" source="Red Hat">
A flaw was found in the Linux kernel's block device handling. When a block device is unexpectedly removed, the `bdev_mark_dead()` function can unconditionally attempt to synchronize the device, even if it is no longer present. This can lead to a system hang, effectively causing a Denial of Service (DoS), as the system waits indefinitely for writeback operations that cannot complete. This vulnerability can be triggered by a local user or process interacting with block devices during surprise removal events.
    </Details>
    <References xml:lang="en:us">
https://www.cve.org/CVERecord?id=CVE-2026-64326
https://nvd.nist.gov/vuln/detail/CVE-2026-64326
https://lore.kernel.org/linux-cve-announce/2026072512-CVE-2026-64326-8454@gregkh/T
    </References>
</Vulnerability>