]> err.no Git - util-linux/commitdiff
mount: add rootcontext= SELinux mount option
authorKarel Zak <kzak@redhat.com>
Mon, 22 Dec 2008 17:46:45 +0000 (18:46 +0100)
committerKarel Zak <kzak@redhat.com>
Mon, 22 Dec 2008 17:54:55 +0000 (18:54 +0100)
Note, the description in the mount.8 man page is copy & paste from
rootcontext= kernel patch (by James Morris). I didn't found anything
more useful... (patches welcomed:-)

Signed-off-by: Karel Zak <kzak@redhat.com>
mount/mount.8
mount/mount.c

index 45f24e9e30f00c52f770e9c445d32f646f3fe950..e40e75c933d76473fea7cfce20c702a545846e05 100644 (file)
@@ -666,7 +666,7 @@ Can only be mounted explicitly (i.e., the
 .B \-a
 option will not cause the file system to be mounted).
 .TP
-\fBcontext=\fP\fIcontext\fP, \fBfscontext=\fP\fIcontext\fP and \fBdefcontext=\fP\fIcontext\fP
+\fBcontext=\fP\fIcontext\fP, \fBfscontext=\fP\fIcontext\fP, \fBdefcontext=\fP\fIcontext\fP and \fBrootcontext=\fP\fIcontext\fP
 The
 .BR context=
 option is useful when mounting filesystems that do not support
@@ -707,6 +707,12 @@ You can set the default security context for unlabeled files using
 option. This overrides the value set for unlabeled files in the policy and requires a
 file system that supports xattr labeling.
 
+The
+.BR rootcontext=
+option allows you to explicitly label the root inode of a FS being mounted
+before that FS or inode because visable to userspace. This was found to be
+useful for things like stateless linux.
+
 For more details, see
 .BR selinux (8)
 
index 947c94a8e3d3b92da8de0054ca6270e3e29d4995..34ef7165c9a706508db11a3b52e2742f7e705fc4 100644 (file)
@@ -423,6 +423,10 @@ parse_opt(char *opt, int *mask, char **extra_opts) {
                if (append_context("defcontext=", opt+11, extra_opts) == 0)
                        return;
        }
+       if (strncmp(opt, "rootcontext=", 12) == 0 && *(opt+12)) {
+               if (append_context("rootcontext=", opt+12, extra_opts) == 0)
+                       return;
+       }
 #endif
        *extra_opts = append_opt(*extra_opts, opt, NULL);
 }