CVE-2026-74362: ext2: fix ignored return value of generic_write_sync()
In the Linux kernel, the following vulnerability has been resolved:
ext2: fix ignored return value of genericwritesync()
Fix ext2diowriteiter() to propagate the error returned by genericwritesync() instead of silently discarding it, which could cause write(2) to return success to userspace on OSYNC/ODSYNC files even when the sync failed.
The correct pattern, already used in ext2daxwriteiter() in the same file and in ext4, xfs, f2fs among others, is: if (ret > 0) ret = genericwritesync(iocb, ret);
Found by Linux Verification Center (linuxtesting.org) with SVACE.
[JK: Reflect also filemapwriteandwait() return value]
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Update the ext2_dio_write_iter() implementation to propagate the return value from generic_write_sync() (use the pattern shown: if (ret > 0) ret = generic_write_sync(iocb, ret);) so write(2) does not return success to userspace when sync fails on O_SYNC/O_DSYNC files.
Linux kernel (ext2/ext2_dio_write_iter) Error handling for ext2_dio_write_iter()/generic_write_sync() = Return error from generic_write_sync() instead of discarding it; apply pattern if (ret > 0) ret = generic_write_sync(iocb, ret);