mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 21:44:23 -04:00
xfs: don't modify file and inode flags for shmem files
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>
This commit is contained in:
committed by
Chandan Babu R
parent
efc9dc0963
commit
a2078df025
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user