Linux: netfs: Fix uninitialized return value in netfs_unbuffered_write()
What fixes it
- 3d038eebdbd400c3bc4b66bd8aa0dff0c2bcce26LinuxCVE List
- 2e38d500471d097cda87d7d374bbc1b13493075dLinuxCVE List
- 6.18.53LinuxCVE List
- 6.20LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
netfs: Fix uninitialized return value in netfs_unbuffered_write()
If preparation of the first subrequest fails, netfs_unbuffered_write() exits its loop before ret is initialized. The empty-iterator check can do the same.
For synchronous writes, netfs_unbuffered_write_iter_locked() may then return an unrelated error instead of wreq->error. This is reachable through CIFS if cifs_prepare_write() fails to reopen the file or obtain credits.
Initialize ret to 0 so the caller returns wreq->error if no data was written, or the number of bytes already written otherwise.
Found with Clang's -Wconditional-uninitialized.
Text from CVE List
Affected versions 11
- Linuxaffected: 72d08d2839649d1c5efbe375751f4473fa4486af before 3d038eebdbd400c3bc4b66bd8aa0dff0c2bcce26CVE List
- Linuxaffected: a0b4c7a49137ed21279f354eb59f49ddae8dffc2 before 2e38d500471d097cda87d7d374bbc1b13493075dCVE List
- Linuxaffected: a0b4c7a49137ed21279f354eb59f49ddae8dffc2 before f18e8774f4d3137fa0a5fb8ffa83d59a719666d8CVE List
- Linuxaffected: 0c29f6d63122a0168d67cb8ecde5b4cf7fe4acb0CVE List
- Linuxaffected: 6.18.17 before 6.18.53CVE List
- Linuxaffected: 6.19.7 before 6.20CVE List
- Linuxaffected: 7.0CVE List
- Linuxunaffected: all versions before 7.0CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List