[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1057843: linux: ext4 data corruption in 6.1.64-1



As there were some questions along in this thread let me summarize
some points:

The issue affects fs/ext4 code, so no other filesystems are affected
(e.g. btrfs).

The issue affects all kernels which have the commit 91562895f803
("ext4: properly sync file size update after O_SYNC direct IO") from
6.7-rc1 (which is present in 6.6.3, 6.5.13 and 6.1.64) but when commit
936e114a245b ("iomap: update ki_pos a little later in
iomap_dio_complete") from 6.5-rc1 is missing (which was backported to
5.15.142 and 6.1.66 additionally).

The only upstream combination where that reverse and missing commit
happened was 6.1.64 and 6.1.65. 

Debian is affected as per 6.1.64-1 upload which was the kernel aimed
for 12.3 point release.

The issue affects file corruption when direct IO writes are involved.
O_DIRECT writes did not properly update current file position after
the write so data and file was getting mangled.

While this does not affect every write ever happend on the system on a
ext4 filesystem with a broken kernel, O_DIRECT writes might be quite
common in in programms trying to get high performance. It might be
argued that it is not that common, but it's not inexistant.

TTOMK, such file corruptions cannot be easily detected. Candidates to
check are every modified file written since booted with the broken
kernel 6.1.64-1.

Poeple still not having booted into 6.1.66-1 are urged to do so.

Regards,
Salvatore


Reply to: