On Fri, 28.02.14 17:09, Łukasz Stelmach (l.stelm...@samsung.com) wrote: > use_smack() is called very early via mkdir_p_label(). This happens > before /sys is mounted and hence before the authoritative information > about smack is even available. To prevent caching of the invalid value > check whether /sys/fs exists.
Hmm, it appears to me that we probably shouldn't invoke mkdir_p_label() that early? Do you know which invocation this is? It sounds really wrong trying to relabel a dir before the policy is actually loaded... > --- > src/shared/smack-util.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c > index df194e0..96f365c 100644 > --- a/src/shared/smack-util.c > +++ b/src/shared/smack-util.c > @@ -33,6 +33,9 @@ bool use_smack(void) { > #ifdef HAVE_SMACK > static int use_smack_cached = -1; > > + if (use_smack_cached < 0 && access("/sys/fs/", F_OK) < 0) > + return false; > + > if (use_smack_cached < 0) > use_smack_cached = access("/sys/fs/smackfs/", F_OK) >= 0; > Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel