userns: Convert the sysv filesystem to use kuid/kgid where appropriate
authorEric W. Biederman <ebiederm@xmission.com>
Fri, 10 Feb 2012 20:19:23 +0000 (12:19 -0800)
committerEric W. Biederman <ebiederm@xmission.com>
Fri, 21 Sep 2012 10:13:18 +0000 (03:13 -0700)
Cc: Christoph Hellwig <hch@infradead.org>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
fs/sysv/inode.c
init/Kconfig

index 80e1e2b18df17f3537050cd7557955a1c1cd6b49..b23ab736685dd5f43718fd473b9fff08e827cda9 100644 (file)
@@ -202,8 +202,8 @@ struct inode *sysv_iget(struct super_block *sb, unsigned int ino)
        }
        /* SystemV FS: kludge permissions if ino==SYSV_ROOT_INO ?? */
        inode->i_mode = fs16_to_cpu(sbi, raw_inode->i_mode);
-       inode->i_uid = (uid_t)fs16_to_cpu(sbi, raw_inode->i_uid);
-       inode->i_gid = (gid_t)fs16_to_cpu(sbi, raw_inode->i_gid);
+       i_uid_write(inode, (uid_t)fs16_to_cpu(sbi, raw_inode->i_uid));
+       i_gid_write(inode, (gid_t)fs16_to_cpu(sbi, raw_inode->i_gid));
        set_nlink(inode, fs16_to_cpu(sbi, raw_inode->i_nlink));
        inode->i_size = fs32_to_cpu(sbi, raw_inode->i_size);
        inode->i_atime.tv_sec = fs32_to_cpu(sbi, raw_inode->i_atime);
@@ -256,8 +256,8 @@ static int __sysv_write_inode(struct inode *inode, int wait)
        }
 
        raw_inode->i_mode = cpu_to_fs16(sbi, inode->i_mode);
-       raw_inode->i_uid = cpu_to_fs16(sbi, fs_high2lowuid(inode->i_uid));
-       raw_inode->i_gid = cpu_to_fs16(sbi, fs_high2lowgid(inode->i_gid));
+       raw_inode->i_uid = cpu_to_fs16(sbi, fs_high2lowuid(i_uid_read(inode)));
+       raw_inode->i_gid = cpu_to_fs16(sbi, fs_high2lowgid(i_gid_read(inode)));
        raw_inode->i_nlink = cpu_to_fs16(sbi, inode->i_nlink);
        raw_inode->i_size = cpu_to_fs32(sbi, inode->i_size);
        raw_inode->i_atime = cpu_to_fs32(sbi, inode->i_atime.tv_sec);
index 1ff9f4156575728b280fda5667483486b8b424fc..3427832fb4afa5c352f8dc67180f4108c4fd3731 100644 (file)
@@ -952,7 +952,6 @@ config UIDGID_CONVERTED
        depends on OCFS2_FS = n
        depends on REISERFS_FS = n
        depends on SQUASHFS = n
-       depends on SYSV_FS = n
        depends on UBIFS_FS = n
        depends on UDF_FS = n
        depends on UFS_FS = n