Description
In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix data corruption after failed write When buffered write fails to copy data into underlying page cache page, ocfs2_write_end_nolock() just zeroes out and dirties the page. This can leave dirty page beyond EOF and if page writeback tries to write this page before write succeeds and expands i_size, page gets into inconsistent state where page dirty bit is clear but buffer dirty bits stay set resulting in page data never getting written and so data copied to the page is lost. Fix the problem by invalidating page beyond EOF after failed write.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
7ed80e77c908cbaa686529a49f8ae0060c5caee7 to < 1629f6f522b2d058019710466a84b240683bbee3affected7ce2b16bad2cbfa3fa7bbc42c4448914f639ca47 to < c26f3ff4c0be590c1250f945ac2e4fc5fcdc5f45affectedf8a6a2ed4b7d1c3c8631eeb6d00572bc853094a8 to < 4c24eb49ab44351424ac8fe8567f91ea48a06089affected6dbf7bb555981fb5faf7b691e8f6169fc2b2e63b to < 91d7a4bd5656552d6259e2d0f8859f9e8cc5ef68affected6dbf7bb555981fb5faf7b691e8f6169fc2b2e63b to < a9e53869cb43c96d6d851c491fd4e26430ab6ba6affected6dbf7bb555981fb5faf7b691e8f6169fc2b2e63b to < 47eb055ad3588fc96d34e9e1dd87b210ce62906baffected6dbf7bb555981fb5faf7b691e8f6169fc2b2e63b to < 205759c6c18f54659b0b5976b14a52d1b3eb9f57affected6dbf7bb555981fb5faf7b691e8f6169fc2b2e63b to < 90410bcf873cf05f54a32183afff0161f44f9715affectedacef5107e2eacb08a16ad5db60320d65bd26a6c0affected36ed9e604215f58cec0381ca5fcc6da05f2d87caaffected4.14.204 to < 4.14.312affected4.19.155 to < 4.19.280affected5.4.75 to < 5.4.240affected4.9.242 to < 4.10affected5.9.5 to < 5.10affected
Linux Linux
Default version status: affected
5.10affected0 to < 5.10unaffected4.14.312 to ≤ 4.14.*unaffected4.19.280 to ≤ 4.19.*unaffected5.4.240 to ≤ 5.4.*unaffected5.10.177 to ≤ 5.10.*unaffected5.15.105 to ≤ 5.15.*unaffected6.1.21 to ≤ 6.1.*unaffected6.2.8 to ≤ 6.2.*unaffected6.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/1629f6f522b2d058019710466a84b240683bbee3 ↗
- https://git.kernel.org/stable/c/c26f3ff4c0be590c1250f945ac2e4fc5fcdc5f45 ↗
- https://git.kernel.org/stable/c/4c24eb49ab44351424ac8fe8567f91ea48a06089 ↗
- https://git.kernel.org/stable/c/91d7a4bd5656552d6259e2d0f8859f9e8cc5ef68 ↗
- https://git.kernel.org/stable/c/a9e53869cb43c96d6d851c491fd4e26430ab6ba6 ↗
- https://git.kernel.org/stable/c/47eb055ad3588fc96d34e9e1dd87b210ce62906b ↗
- https://git.kernel.org/stable/c/205759c6c18f54659b0b5976b14a52d1b3eb9f57 ↗
- https://git.kernel.org/stable/c/90410bcf873cf05f54a32183afff0161f44f9715 ↗