Description
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.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HAffected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 55cdd0af2bc5ffc92a2deb745627755aecd5db33, < e96c2354b170aaa53300c8e8fd59e41b133160f7; >= 55cdd0af2bc5ffc92a2deb745627755aecd5db33, < c360e9d0def4f4ae03254a67c683103908555b75; >= 55cdd0af2bc5ffc92a2deb745627755aecd5db33, < 1c82f863f090ab899085bdfade073313384b514b; >= 55cdd0af2bc5ffc92a2deb745627755aecd5db33, < 9b4d9dda6a71ad3425c8109d27c4c6bfb9da97b8; >= 55cdd0af2bc5ffc92a2deb745627755aecd5db33, < 812b6a7cd3e7f3a3e8a24db85bc6313c26cb1098; >= 55cdd0af2bc5ffc92a2deb745627755aecd5db33, < b4737e26d4688b8aea88ad6ea4dbfeb6e78b0327; >= 55cdd0af2bc5ffc92a2deb745627755aecd5db33, < 9ee29d20aab228adfb02ca93f87fb53c56c2f3af |
| Linux | Linux | 5.15 |
References
- https://git.kernel.org/stable/c/1c82f863f090ab899085bdfade073313384b514bPatch
- https://git.kernel.org/stable/c/812b6a7cd3e7f3a3e8a24db85bc6313c26cb1098Patch
- https://git.kernel.org/stable/c/9b4d9dda6a71ad3425c8109d27c4c6bfb9da97b8Patch
- https://git.kernel.org/stable/c/9ee29d20aab228adfb02ca93f87fb53c56c2f3afPatch
- https://git.kernel.org/stable/c/b4737e26d4688b8aea88ad6ea4dbfeb6e78b0327Patch
- https://git.kernel.org/stable/c/c360e9d0def4f4ae03254a67c683103908555b75Patch
- https://git.kernel.org/stable/c/e96c2354b170aaa53300c8e8fd59e41b133160f7Patch
Timeline
- Published
- May 5, 2026
- Last modified
- Nov 11, 2026
- NVD status
- Analyzed