]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
SELinux: Enable setting security contexts on rootfs inodes.
authorStephen Smalley <sds@tycho.nsa.gov>
Fri, 10 May 2013 14:25:56 +0000 (10:25 -0400)
committerPaul Moore <pmoore@redhat.com>
Wed, 10 Jul 2013 19:12:49 +0000 (15:12 -0400)
rootfs (ramfs) can support setting of security contexts
by userspace due to the vfs fallback behavior of calling
the security module to set the in-core inode state
for security.* attributes when the filesystem does not
provide an xattr handler.  No xattr handler required
as the inodes are pinned in memory and have no backing
store.

This is useful in allowing early userspace to label individual
files within a rootfs while still providing a policy-defined
default via genfs.

Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Paul Moore <pmoore@redhat.com>
security/selinux/hooks.c

index 41969320de85b4cf87f983163a449b2b08725ce0..f0de905c5997c358d3e8584815ce580730eac959 100644 (file)
@@ -408,6 +408,13 @@ static int sb_finish_set_opts(struct super_block *sb)
        if (strncmp(sb->s_type->name, "sysfs", sizeof("sysfs")) == 0)
                sbsec->flags |= SE_SBLABELSUPP;
 
+       /*
+        * 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)
+               sbsec->flags |= SE_SBLABELSUPP;
+
        /* Initialize the root inode. */
        rc = inode_doinit_with_dentry(root_inode, root);