diff options
-rw-r--r-- | src/udev/Makefile.am | 3 | ||||
-rw-r--r-- | src/udev/label.c | 9 |
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) { |