along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-#include <sys/wait.h>
#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"
/* library logging is enabled at debug only */
DISABLE_WARNING_FORMAT_NONLITERAL;
- log_metav(LOG_DEBUG, file, line, fn, format, args);
+ log_internalv(LOG_DEBUG, 0, file, line, fn, format, args);
REENABLE_WARNING;
}
static bool cmdline_check_kdbus(void) {
- _cleanup_free_ char *line = NULL;
- const char *p;
- int r;
-
- r = proc_cmdline(&line);
- if (r < 0)
- return false;
-
- p = line;
- for (;;) {
- _cleanup_free_ char *word = NULL;
-
- r = unquote_first_word(&p, &word, true);
- if (r <= 0)
- return false;
-
- if (streq(word, "kdbus"))
- return true;
- }
+ return get_proc_cmdline_key("kdbus", NULL) > 0;
}
#endif
bool (*condition_fn)(void);
} kmod_table[] = {
/* auto-loading on use doesn't work before udev is up */
- { "autofs4", "/sys/class/misc/autofs", true, NULL },
+ { "autofs4", "/sys/class/misc/autofs", true, NULL },
/* early configure of ::1 on the loopback device */
- { "ipv6", "/sys/module/ipv6", true, NULL },
+ { "ipv6", "/sys/module/ipv6", true, NULL },
/* this should never be a module */
- { "unix", "/proc/net/unix", true, NULL },
+ { "unix", "/proc/net/unix", true, NULL },
/* IPC is needed before we bring up any other services */
{ "kdbus", "/sys/fs/kdbus", false, cmdline_check_kdbus },