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. --- 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; -- 1.7.9.5 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel