CVE-2026-64326

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
25/07/2026
Last modified:
25/07/2026

Description

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

Impact