Explorar o código

userns: Convert sysctl permission checks to use kuid and kgids.

Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Eric W. Biederman %!s(int64=13) %!d(string=hai) anos
pai
achega
091bd3ea4e
Modificáronse 2 ficheiros con 2 adicións e 3 borrados
  1. 2 2
      fs/proc/proc_sysctl.c
  2. 0 1
      init/Kconfig

+ 2 - 2
fs/proc/proc_sysctl.c

@@ -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;

+ 0 - 1
init/Kconfig

@@ -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