userns: Convert sysctl permission checks to use kuid and kgids.
Eric W. Biederman [Tue, 14 Feb 2012 02:02:50 +0000 (18:02 -0800)]
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>

fs/proc/proc_sysctl.c
init/Kconfig

index 21d836f..3476bca 100644 (file)
@@ -371,9 +371,9 @@ void register_sysctl_root(struct ctl_table_root *root)
 
 static int test_perm(int mode, int op)
 {
-       if (!current_euid())
+       if (uid_eq(current_euid(), GLOBAL_ROOT_UID))
                mode >>= 6;
-       else if (in_egroup_p(0))
+       else if (in_egroup_p(GLOBAL_ROOT_GID))
                mode >>= 3;
        if ((op & ~mode & (MAY_READ|MAY_WRITE|MAY_EXEC)) == 0)
                return 0;
index 7bebe91..be58765 100644 (file)
@@ -948,7 +948,6 @@ config UIDGID_CONVERTED
        depends on NTFS_FS = n
        depends on OCFS2_FS = n
        depends on OMFS_FS = n
-       depends on PROC_SYSCTL = n
        depends on QNX4FS_FS = n
        depends on QNX6FS_FS = n
        depends on REISERFS_FS = n