From ecd10aa42819cd5dcf639d25575e95a5bda8d08a Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Wed, 21 Feb 2018 17:59:31 +0100 Subject: udf: Apply uid/gid mount options also to new inodes & chown MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently newly created files belong to current user despite uid= / gid= mount options. This is confusing to users (as owner of the file will change after remount / eviction from cache) and also inconsistent with e.g. FAT with the same mount option. So apply uid= and gid= also to newly created inodes and similarly as FAT disallow to change owner of the file in this case. Reported-by: Steve Kenton Reviewed-by: Pali Rohár Signed-off-by: Jan Kara --- fs/udf/ialloc.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'fs/udf/ialloc.c') diff --git a/fs/udf/ialloc.c b/fs/udf/ialloc.c index b6e420c1bfeb..b7a0d4b4bda1 100644 --- a/fs/udf/ialloc.c +++ b/fs/udf/ialloc.c @@ -104,6 +104,10 @@ struct inode *udf_new_inode(struct inode *dir, umode_t mode) } inode_init_owner(inode, dir, mode); + if (UDF_QUERY_FLAG(sb, UDF_FLAG_UID_SET)) + inode->i_uid = sbi->s_uid; + if (UDF_QUERY_FLAG(sb, UDF_FLAG_GID_SET)) + inode->i_gid = sbi->s_gid; iinfo->i_location.logicalBlockNum = block; iinfo->i_location.partitionReferenceNum = -- cgit v1.2.3