udev: load a bunch of libs before we fork off worker processes

This commit is contained in:
Lennart Poettering
2025-11-24 11:56:47 +01:00
parent 5b2f52814b
commit 52594c3184
2 changed files with 12 additions and 1 deletions
+2 -1
View File
@@ -116,7 +116,8 @@ endif
udev_dependencies = [
libacl_cflags,
libblkid_cflags,
libkmod,
libkmod_cflags,
libmount_cflags,
threads,
]
+10
View File
@@ -8,10 +8,14 @@
#include <sys/stat.h>
#include <unistd.h>
#include "acl-util.h"
#include "blkid-util.h"
#include "errno-util.h"
#include "fd-util.h"
#include "label-util.h"
#include "libmount-util.h"
#include "log.h"
#include "module-util.h"
#include "process-util.h"
#include "rlimit-util.h"
#include "terminal-util.h"
@@ -52,6 +56,12 @@ int run_udevd(int argc, char *argv[]) {
if (r < 0 && r != -EEXIST)
return log_error_errno(r, "Failed to create /run/udev: %m");
/* Load some shared libraries before we fork any workers */
(void) dlopen_libacl();
(void) dlopen_libblkid();
(void) dlopen_libkmod();
(void) dlopen_libmount();
if (arg_daemonize) {
pid_t pid;