summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/udev/Makefile.am3
-rw-r--r--src/udev/label.c9
2 files changed, 10 insertions, 2 deletions
diff --git a/src/udev/Makefile.am b/src/udev/Makefile.am
index 972c275c8c..866d2c2537 100644
--- a/src/udev/Makefile.am
+++ b/src/udev/Makefile.am
@@ -72,7 +72,8 @@ libudev_core_la_CFLAGS = \
libudev_core_la_LIBADD = \
$(top_builddir)/src/libudev/libudev-private.la \
- $(BLKID_LIBS)
+ $(BLKID_LIBS) \
+ $(SELINUX_LIBS)
if HAVE_MODULES
libudev_core_la_SOURCES += \
diff --git a/src/udev/label.c b/src/udev/label.c
index d353da57ec..7e8d8f9277 100644
--- a/src/udev/label.c
+++ b/src/udev/label.c
@@ -31,12 +31,19 @@
#include "path-util.h"
#ifdef HAVE_SELINUX
-#include "selinux-util.h"
+#include <stdbool.h>
#include <selinux/selinux.h>
#include <selinux/label.h>
static struct selabel_handle *label_hnd = NULL;
+static int use_selinux_cached = -1;
+bool use_selinux(void) {
+ if (use_selinux_cached < 0)
+ use_selinux_cached = is_selinux_enabled() > 0;
+
+ return use_selinux_cached;
+}
#endif
int label_init(const char *prefix) {