chiark / gitweb /
selinux: init once in the daemon, not in every event process
authorHarald Hoyer <harald@redhat.com>
Fri, 18 Aug 2006 01:47:59 +0000 (03:47 +0200)
committerKay Sievers <kay.sievers@suse.de>
Fri, 18 Aug 2006 01:47:59 +0000 (03:47 +0200)
udev.c
udev_node.c
udevd.c
udevstart.c

diff --git a/udev.c b/udev.c
index 17ab635f1ea07dd91eacbf046742d890f907c6e9..c633fff14b5afb9209f7d3d319befc8cdf9f6064 100644 (file)
--- a/udev.c
+++ b/udev.c
@@ -32,6 +32,7 @@
 
 #include "udev.h"
 #include "udev_rules.h"
+#include "udev_selinux.h"
 
 #ifdef USE_LOG
 void log_message(int priority, const char *format, ...)
@@ -93,6 +94,7 @@ int main(int argc, char *argv[], char *envp[])
        if (devnull < 0)
                err("fatal, could not open /dev/null: %s", strerror(errno));
        udev_config_init();
+       selinux_init();
        dbg("version %s", UDEV_VERSION);
 
        /* set signal handlers */
index ee59d4ae7c74b0642a37d391a97d58005f26b285..12a738e4e2798fcc1350f4bc7afb8e1e2133e644 100644 (file)
@@ -130,8 +130,6 @@ int udev_node_add(struct udevice *udev, struct udevice *udev_old)
        int i;
        int retval = 0;
 
-       selinux_init();
-
        snprintf(filename, sizeof(filename), "%s/%s", udev_root, udev->name);
        filename[sizeof(filename)-1] = '\0';
 
diff --git a/udevd.c b/udevd.c
index 5c51beed1e0d32d85a3d1332df28bfff19f964e9..bec4e3d7b43c0e346ced75a1ad0bb5cc59c28539 100644 (file)
--- a/udevd.c
+++ b/udevd.c
@@ -45,6 +45,7 @@
 #include "udev.h"
 #include "udev_rules.h"
 #include "udevd.h"
+#include "udev_selinux.h"
 
 static struct udev_rules rules;
 static int udevd_sock = -1;
@@ -931,6 +932,7 @@ int main(int argc, char *argv[], char *envp[])
                err("fatal, could not open /dev/null: %s", strerror(errno));
 
        udev_config_init();
+       selinux_init();
        dbg("version %s", UDEV_VERSION);
 
        if (getuid() != 0) {
index 0d9b4f4004513cc970ca6fb77f2e0a929207f727..d0a1ded2be069cf16d0f8931a840f272875702d2 100644 (file)
@@ -40,6 +40,7 @@
 
 #include "udev.h"
 #include "udev_rules.h"
+#include "udev_selinux.h"
 
 static const char *udev_run_str;
 static const char *udev_log_str;
@@ -339,6 +340,7 @@ int main(int argc, char *argv[], char *envp[])
 
        logging_init("udevstart");
        udev_config_init();
+       selinux_init();
        dbg("version %s", UDEV_VERSION);
 
        udev_run_str = getenv("UDEV_RUN");