linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] iomap/xfs: fix stale data exposure when truncating realtime inodes
@ 2024-05-15  2:28 Zhang Yi
  2024-05-15  2:28 ` [PATCH 1/3] iomap: pass blocksize to iomap_truncate_page() Zhang Yi
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Zhang Yi @ 2024-05-15  2:28 UTC (permalink / raw)
  To: linux-xfs, linux-fsdevel
  Cc: linux-kernel, linux-ext4, djwong, hch, brauner, david,
	chandanbabu, jack, yi.zhang, yi.zhang, chengzhihao1, yukuai3

From: Zhang Yi <yi.zhang@huawei.com>

This series fix a stale data exposure issue reported by Chandan when
running fstests generic/561 on xfs with realtime device[1]. The real
problem is xfs_setattr_size() doesn't zero out enough range when
truncating a realtime inode, please see the third patch or [1] for
details.

The first two patches modify iomap_truncate_page() and
dax_truncate_page() to pass filesystem identified blocksize, and drop
the assumption of i_blocksize() as Dave suggested. The third patch fix
the issue by modifying xfs_truncate_page() to pass the correct
blocksize, and make sure zeroed range have been flushed to disk before
updating i_size.

[1] https://lore.kernel.org/linux-xfs/87ttj8ircu.fsf@debian-BULLSEYE-live-builder-AMD64/

Thanks,
Yi.

Zhang Yi (3):
  iomap: pass blocksize to iomap_truncate_page()
  fsdax: pass blocksize to dax_truncate_page()
  xfs: correct the zeroing truncate range

 fs/dax.c               |  7 +++----
 fs/ext2/inode.c        |  4 ++--
 fs/iomap/buffered-io.c |  7 +++----
 fs/xfs/xfs_iomap.c     | 36 ++++++++++++++++++++++++++++++++----
 fs/xfs/xfs_iops.c      | 10 ----------
 include/linux/dax.h    |  4 ++--
 include/linux/iomap.h  |  4 ++--
 7 files changed, 44 insertions(+), 28 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-05-15 13:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-15  2:28 [PATCH 0/3] iomap/xfs: fix stale data exposure when truncating realtime inodes Zhang Yi
2024-05-15  2:28 ` [PATCH 1/3] iomap: pass blocksize to iomap_truncate_page() Zhang Yi
2024-05-15 13:16   ` kernel test robot
2024-05-15 13:16   ` kernel test robot
2024-05-15  2:28 ` [PATCH 2/3] fsdax: pass blocksize to dax_truncate_page() Zhang Yi
2024-05-15  2:28 ` [PATCH 3/3] xfs: correct the zeroing truncate range Zhang Yi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).