chiark / gitweb /
kmod: move #ifdef checks for kmod-setup out of main.c into kmod-setup.c
authorLennart Poettering <lennart@poettering.net>
Fri, 14 Nov 2014 16:58:32 +0000 (17:58 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 14 Nov 2014 16:58:32 +0000 (17:58 +0100)
Makefile.am
src/core/kmod-setup.c
src/core/main.c

index 701666c2787c4f06e1b198fd1bf607d7cd42dbc0..1aef24260b21da4db8536233ee06b97d4c52485f 100644 (file)
@@ -1121,6 +1121,8 @@ libsystemd_core_la_SOURCES = \
        src/core/machine-id-setup.h \
        src/core/mount-setup.c \
        src/core/mount-setup.h \
+       src/core/kmod-setup.c \
+       src/core/kmod-setup.h \
        src/core/loopback-setup.h \
        src/core/loopback-setup.c \
        src/core/namespace.c \
@@ -1136,12 +1138,6 @@ libsystemd_core_la_SOURCES = \
        src/core/failure-action.c \
        src/core/failure-action.h
 
-if HAVE_KMOD
-libsystemd_core_la_SOURCES += \
-       src/core/kmod-setup.c \
-       src/core/kmod-setup.h
-endif
-
 nodist_libsystemd_core_la_SOURCES = \
        src/core/load-fragment-gperf.c \
        src/core/load-fragment-gperf-nulstr.c
index 8136d3c0f809b681808451e6d92cc5263dc9dead..23df1fdf36d12569a291e24aa0950a1785c40333 100644 (file)
 #include <unistd.h>
 #include <string.h>
 #include <errno.h>
+
+#ifdef HAVE_KMOD
 #include <libkmod.h>
+#endif
 
 #include "macro.h"
 #include "execute.h"
 #include "capability.h"
 #include "kmod-setup.h"
 
+#ifdef HAVE_KMOD
 static void systemd_kmod_log(
                 void *data,
                 int priority,
@@ -52,8 +56,10 @@ static bool cmdline_check_kdbus(void) {
 
         return strstr(line, "kdbus") != NULL;
 }
+#endif
 
 int kmod_setup(void) {
+#ifdef HAVE_KMOD
 
         static const struct {
                 const char *module;
@@ -123,5 +129,6 @@ int kmod_setup(void) {
         if (ctx)
                 kmod_unref(ctx);
 
+#endif
         return 0;
 }
index 59a2be97f3bcabc6571ce5c9b94489863bae0676..64acdf76e1dbecf63237b4fb5c23c7ce6b6b87c0 100644 (file)
@@ -75,9 +75,7 @@
 #include "selinux-setup.h"
 #include "ima-setup.h"
 #include "smack-setup.h"
-#ifdef HAVE_KMOD
 #include "kmod-setup.h"
-#endif
 
 static enum {
         ACTION_RUN,
@@ -1389,10 +1387,10 @@ int main(int argc, char *argv[]) {
         /* Mount /proc, /sys and friends, so that /proc/cmdline and
          * /proc/$PID/fd is available. */
         if (getpid() == 1) {
-#ifdef HAVE_KMOD
+
+                /* Load the kernel modules early, so that we kdbus.ko is loaded before kdbusfs shall be mounted */
                 if (!skip_setup)
                         kmod_setup();
-#endif
 
                 r = mount_setup(loaded_policy);
                 if (r < 0)