CVE-2026-43065 PUBLISHED

ext4: always drain queued discard work in ext4_mb_release()

Assigner: Linux
Reserved: 01.05.2026 Published: 05.05.2026 Updated: 05.05.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 55cdd0af2bc5ffc92a2deb745627755aecd5db33 to e96c2354b170aaa53300c8e8fd59e41b133160f7 (excl.)
  • affected from 55cdd0af2bc5ffc92a2deb745627755aecd5db33 to c360e9d0def4f4ae03254a67c683103908555b75 (excl.)
  • affected from 55cdd0af2bc5ffc92a2deb745627755aecd5db33 to 1c82f863f090ab899085bdfade073313384b514b (excl.)
  • affected from 55cdd0af2bc5ffc92a2deb745627755aecd5db33 to 9b4d9dda6a71ad3425c8109d27c4c6bfb9da97b8 (excl.)
  • affected from 55cdd0af2bc5ffc92a2deb745627755aecd5db33 to 812b6a7cd3e7f3a3e8a24db85bc6313c26cb1098 (excl.)
  • affected from 55cdd0af2bc5ffc92a2deb745627755aecd5db33 to b4737e26d4688b8aea88ad6ea4dbfeb6e78b0327 (excl.)
  • affected from 55cdd0af2bc5ffc92a2deb745627755aecd5db33 to 9ee29d20aab228adfb02ca93f87fb53c56c2f3af (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.15 is affected
  • unaffected from 0 to 5.15 (excl.)
  • unaffected from 5.15.203 to 5.15.* (incl.)
  • unaffected from 6.1.168 to 6.1.* (incl.)
  • unaffected from 6.6.131 to 6.6.* (incl.)
  • unaffected from 6.12.80 to 6.12.* (incl.)
  • unaffected from 6.18.21 to 6.18.* (incl.)
  • unaffected from 6.19.11 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References