]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: don't modify file and inode flags for shmem files
authorChristoph Hellwig <hch@lst.de>
Mon, 19 Feb 2024 06:27:19 +0000 (07:27 +0100)
committerChandan Babu R <chandanbabu@kernel.org>
Wed, 21 Feb 2024 06:06:52 +0000 (11:36 +0530)
shmem_file_setup is explicitly intended for a file that can be
fully read and written by kernel users without restrictions.  Don't
poke into internals to change random flags in the file or inode.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
fs/xfs/scrub/xfile.c

index 99a2b48f5662e67ec4086c53b7b175b8d35affe5..95250db81981ab241405008320e6fce9a81cd52b 100644 (file)
@@ -74,22 +74,7 @@ xfile_create(
                goto out_xfile;
        }
 
-       /*
-        * We want a large sparse file that we can pread, pwrite, and seek.
-        * xfile users are responsible for keeping the xfile hidden away from
-        * all other callers, so we skip timestamp updates and security checks.
-        * Make the inode only accessible by root, just in case the xfile ever
-        * escapes.
-        */
-       xf->file->f_mode |= FMODE_PREAD | FMODE_PWRITE | FMODE_NOCMTIME |
-                           FMODE_LSEEK;
-       xf->file->f_flags |= O_RDWR | O_LARGEFILE | O_NOATIME;
        inode = file_inode(xf->file);
-       inode->i_flags |= S_NOCMTIME | S_NOATIME;
-       inode->i_mode &= ~0177;
-       inode->i_uid = GLOBAL_ROOT_UID;
-       inode->i_gid = GLOBAL_ROOT_GID;
-
        lockdep_set_class(&inode->i_rwsem, &xfile_i_mutex_key);
 
        trace_xfile_create(xf);