Add flag to make SELinux label failure fatal, add hack for /proc
I was working on `rpm-ostree livefs` which does some ostree-based filesystem diffs, and noticed that we were ending up with `/proc` not being labeled in our base trees. Reading the selinux-policy source, indeed we have: ``` /proc -d <<none>> /proc/.* <<none>> ``` This dates pretty far back. We really don't want unlabeled content in ostree. In this case it's mostly OK since the kernel will assign a label, but again *everything* should be labeled via OSTree so that it's all consistent, which will fix `ostree diff`. Notably, `/proc` is the *only* file path that isn't covered when composing a Fedora Atomic Host. So I added a hack here to hardcode it (although I'm a bit uncertain about whether it should really be `proc_t` on disk before systemd mounts or not). Out of conservatism, I made this a flag, so if we hit issues down the line, we could easily change rpm-ostree to stumble on as it did before. Closes: #768 Approved by: jlebon
This commit is contained in:
1 parent
8d4dec1b53
commit
9016e9e8be
3 files changed
+29
-24
No files matched your search
@@ -2309,7 +2309,11 @@ get_modified_xattrs (OstreeRepo *self,
|
||||
&label, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (label)
|
||||
if (!label && (modifier->flags & OSTREE_REPO_COMMIT_MODIFIER_FLAGS_ERROR_ON_UNLABELED) > 0)
|
||||
{
|
||||
return glnx_throw (error, "Failed to look up SELinux label for '%s'", relpath);
|
||||
}
|
||||
else if (label)
|
||||
{
|
||||
g_autoptr(GVariantBuilder) builder = NULL;
|
||||
|
||||
|
||||
Reference in new issue
Block a user