CVE-2026-43065

Summary

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

ext4: always drain queued discard work in ext4_mb_release()

While reviewing recent ext4 patch[1], Sashiko raised the following concern[2]:

> If the filesystem is initially mounted with the discard option, > deleting files will populate sbi->s_discard_list and queue > s_discard_work. If it is then remounted with nodiscard, the > EXT4_MOUNT_DISCARD flag is cleared, but the pending s_discard_work is > neither cancelled nor flushed.

[1] https://lore.kernel.org/r/20260319094545.19291-1-qiang.zhang@linux.dev/ [2] https://sashiko.dev/#/patchset/20260319094545.19291-1-qiang.zhang%40linux.dev

The concern was valid, but it had nothing to do with the patch[1]. One of the problems with Sashiko in its current (early) form is that it will detect pre-existing issues and report it as a problem with the patch that it is reviewing.

In practice, it would be hard to hit deliberately (unless you are a malicious syzkaller fuzzer), since it would involve mounting the file system with -o discard, and then deleting a large number of files, remounting the file system with -o nodiscard, and then immediately unmounting the file system before the queued discard work has a change to drain on its own.

Fix it because it's a real bug, and to avoid Sashiko from raising this concern when analyzing future patches to mballoc.c.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux55cdd0af2bc5ffc92a2deb745627755aecd5db33 < e96c2354b170aaa53300c8e8fd59e41b133160f7affected
LinuxLinux55cdd0af2bc5ffc92a2deb745627755aecd5db33 < c360e9d0def4f4ae03254a67c683103908555b75affected
LinuxLinux55cdd0af2bc5ffc92a2deb745627755aecd5db33 < 1c82f863f090ab899085bdfade073313384b514baffected
LinuxLinux55cdd0af2bc5ffc92a2deb745627755aecd5db33 < 9b4d9dda6a71ad3425c8109d27c4c6bfb9da97b8affected
LinuxLinux55cdd0af2bc5ffc92a2deb745627755aecd5db33 < 812b6a7cd3e7f3a3e8a24db85bc6313c26cb1098affected
LinuxLinux55cdd0af2bc5ffc92a2deb745627755aecd5db33 < b4737e26d4688b8aea88ad6ea4dbfeb6e78b0327affected
LinuxLinux55cdd0af2bc5ffc92a2deb745627755aecd5db33 < 9ee29d20aab228adfb02ca93f87fb53c56c2f3afaffected
LinuxLinux5.15affected
LinuxLinux0 < 5.15unaffected
LinuxLinux5.15.203 <= 5.15.*unaffected
LinuxLinux6.1.168 <= 6.1.*unaffected
LinuxLinux6.6.131 <= 6.6.*unaffected
LinuxLinux6.12.80 <= 6.12.*unaffected
LinuxLinux6.18.21 <= 6.18.*unaffected
LinuxLinux6.19.11 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References