On Tue, Mar 08, 2022 at 10:50:43AM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > Since the initial introduction of (posix) fallocate back at the turn of > the century, it has been possible to use this syscall to change the > user-visible contents of files. This can happen by extending the file > size during a preallocation, or through any of the newer modes (punch, > zero, collapse, insert range). Because the call can be used to change > file contents, we should treat it like we do any other modification to a > file -- update the mtime, and drop set[ug]id privileges/capabilities. > > The VFS function file_modified() does all this for us if pass it a > locked inode, so let's make fallocate drop permissions correctly. > > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> > --- > fs/ext4/ext4.h | 2 +- > fs/ext4/extents.c | 32 +++++++++++++++++++++++++------- > fs/ext4/inode.c | 7 ++++++- > 3 files changed, 32 insertions(+), 9 deletions(-) Is there a test in xfstests that tests for this? - Eric