]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
selinux: add security in-core xattr support for pstore and debugfs
authorMark Salyzyn <salyzyn@android.com>
Wed, 4 Feb 2015 16:34:30 +0000 (11:34 -0500)
committerPaul Moore <pmoore@redhat.com>
Wed, 4 Feb 2015 16:34:30 +0000 (11:34 -0500)
- add "pstore" and "debugfs" to list of in-core exceptions
- change fstype checks to boolean equation
- change from strncmp to strcmp for checking

Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
[PM: tweaked the subject line prefix to "selinux"]
Signed-off-by: Paul Moore <pmoore@redhat.com>
security/selinux/hooks.c

index c253caa90bb45ec62c2d4fa56b995c66587fcb9a..87a915656eab61eb3c34638852ef2b91cdeee086 100644 (file)
@@ -401,23 +401,14 @@ static int selinux_is_sblabel_mnt(struct super_block *sb)
 {
        struct superblock_security_struct *sbsec = sb->s_security;
 
-       if (sbsec->behavior == SECURITY_FS_USE_XATTR ||
-           sbsec->behavior == SECURITY_FS_USE_TRANS ||
-           sbsec->behavior == SECURITY_FS_USE_TASK)
-               return 1;
-
-       /* Special handling for sysfs. Is genfs but also has setxattr handler*/
-       if (strncmp(sb->s_type->name, "sysfs", sizeof("sysfs")) == 0)
-               return 1;
-
-       /*
-        * Special handling for rootfs. Is genfs but supports
-        * setting SELinux context on in-core inodes.
-        */
-       if (strncmp(sb->s_type->name, "rootfs", sizeof("rootfs")) == 0)
-               return 1;
-
-       return 0;
+       return sbsec->behavior == SECURITY_FS_USE_XATTR ||
+               sbsec->behavior == SECURITY_FS_USE_TRANS ||
+               sbsec->behavior == SECURITY_FS_USE_TASK ||
+               /* Special handling. Genfs but also in-core setxattr handler */
+               !strcmp(sb->s_type->name, "sysfs") ||
+               !strcmp(sb->s_type->name, "pstore") ||
+               !strcmp(sb->s_type->name, "debugfs") ||
+               !strcmp(sb->s_type->name, "rootfs");
 }
 
 static int sb_finish_set_opts(struct super_block *sb)