chiark / gitweb /
Revert "label: fix systemd-udev labeling of /run directory."
[elogind.git] / src / shared / label.c
index bd38f0ba67987d3ff81979b1752c95ddabb5a7dc..9a5f79d7aef91d928d448557fc5a55bb15443006 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "label.h"
 #include "util.h"
+#include "path-util.h"
 
 #ifdef HAVE_SELINUX
 #include <selinux/selinux.h>
@@ -89,9 +90,9 @@ int label_init(const char *prefix) {
 
                 l = after_mallinfo.uordblks > before_mallinfo.uordblks ? after_mallinfo.uordblks - before_mallinfo.uordblks : 0;
 
-                log_info("Successfully loaded SELinux database in %s, size on heap is %iK.",
-                         format_timespan(timespan, sizeof(timespan), after_timestamp - before_timestamp),
-                         (l+1023)/1024);
+                log_debug("Successfully loaded SELinux database in %s, size on heap is %iK.",
+                          format_timespan(timespan, sizeof(timespan), after_timestamp - before_timestamp),
+                          (l+1023)/1024);
         }
 #endif
 
@@ -262,15 +263,14 @@ void label_free(const char *label) {
 #endif
 }
 
-int label_mkdir(const char *path, mode_t mode) {
+int label_mkdir(const char *path, mode_t mode, bool apply) {
 
         /* Creates a directory and labels it according to the SELinux policy */
-
 #ifdef HAVE_SELINUX
         int r;
         security_context_t fcon = NULL;
 
-        if (!use_selinux() || !label_hnd)
+        if (!apply || !use_selinux() || !label_hnd)
                 goto skipped;
 
         if (path_is_absolute(path))