summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-02-10 12:14:27 -0800
committerEric W. Biederman <ebiederm@xmission.com>2012-09-21 03:13:35 -0700
commit61293ee2749bc2414725da37e50308154ff91574 (patch)
tree27881ed8244a4e8cdebdc5b19c94e9a45901d341
parentdf814654f364369dfb2fe3c870f3544ce69aa78c (diff)
downloadlinux-stable-61293ee2749bc2414725da37e50308154ff91574.tar.gz
linux-stable-61293ee2749bc2414725da37e50308154ff91574.tar.bz2
linux-stable-61293ee2749bc2414725da37e50308154ff91574.zip
userns: Convert squashfs to use kuid/kgid where appropriate
Cc: Phillip Lougher <phillip@squashfs.org.uk> Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
-rw-r--r--fs/squashfs/inode.c8
-rw-r--r--init/Kconfig1
2 files changed, 6 insertions, 3 deletions
diff --git a/fs/squashfs/inode.c b/fs/squashfs/inode.c
index 81afbccfa843..a1ce5ce60632 100644
--- a/fs/squashfs/inode.c
+++ b/fs/squashfs/inode.c
@@ -56,16 +56,20 @@
static int squashfs_new_inode(struct super_block *sb, struct inode *inode,
struct squashfs_base_inode *sqsh_ino)
{
+ uid_t i_uid;
+ gid_t i_gid;
int err;
- err = squashfs_get_id(sb, le16_to_cpu(sqsh_ino->uid), &inode->i_uid);
+ err = squashfs_get_id(sb, le16_to_cpu(sqsh_ino->uid), &i_uid);
if (err)
return err;
- err = squashfs_get_id(sb, le16_to_cpu(sqsh_ino->guid), &inode->i_gid);
+ err = squashfs_get_id(sb, le16_to_cpu(sqsh_ino->guid), &i_gid);
if (err)
return err;
+ i_uid_write(inode, i_uid);
+ i_gid_write(inode, i_gid);
inode->i_ino = le32_to_cpu(sqsh_ino->inode_number);
inode->i_mtime.tv_sec = le32_to_cpu(sqsh_ino->mtime);
inode->i_atime.tv_sec = inode->i_mtime.tv_sec;
diff --git a/init/Kconfig b/init/Kconfig
index 8b11f2908c25..d88f945fa610 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -939,7 +939,6 @@ config UIDGID_CONVERTED
depends on NFSD = n
depends on NFS_FS = n
depends on OCFS2_FS = n
- depends on SQUASHFS = n
depends on UBIFS_FS = n
depends on UDF_FS = n
depends on UFS_FS = n