Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: ext2: Fix lost inode updates for IS_SYNC inodes ext2_setsize() and ext2_xattr_set2() had a construct like: if (IS_SYNC(inode)) { sync_inode_metadata(inode, 1); } else { mark_inode_dirty(inode); } which leads to lost inode updates for IS_SYNC inodes because sync_inode_metadata() does anything only if the inode is already dirty and hence inode updates may be simply lost. Fix the problem by unconditionally marking the inode dirty and *then* call sync_inode_metadata().
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before b879565effd88fc119c2efea3f3868a9997ed9ba; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before e54de654423bee98d1ba50379b09daf97c7854a6; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 5481766125041e71662f2e32ee0e91ad5f4d07f4; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 5efb3350230fef831167740e69e6db2861101186; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 356984d1a5c32e94810cbb6c8dc7d8ff2d4d919a |
| Linux / Linux | affected 2.6.12; unaffected 0 before 2.6.12; unaffected 6.6.160 through 6.6.*; unaffected 6.12.114 through 6.12.*; unaffected 6.18.57 through 6.18.*; unaffected 7.2.4 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/b879565effd88fc119c2efea3f3868a9997ed9ba
- https://git.kernel.org/stable/c/e54de654423bee98d1ba50379b09daf97c7854a6
- https://git.kernel.org/stable/c/5481766125041e71662f2e32ee0e91ad5f4d07f4
- https://git.kernel.org/stable/c/5efb3350230fef831167740e69e6db2861101186
- https://git.kernel.org/stable/c/356984d1a5c32e94810cbb6c8dc7d8ff2d4d919a