From 52594c31848048575e95ae0af3f97d18397c70f8 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 21 Nov 2025 08:53:44 +0100 Subject: [PATCH] udev: load a bunch of libs before we fork off worker processes --- src/udev/meson.build | 3 ++- src/udev/udevd.c | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/udev/meson.build b/src/udev/meson.build index 555e83fa7fa..7df5b3de857 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -116,7 +116,8 @@ endif udev_dependencies = [ libacl_cflags, libblkid_cflags, - libkmod, + libkmod_cflags, + libmount_cflags, threads, ] diff --git a/src/udev/udevd.c b/src/udev/udevd.c index fd16654127e..ab3106334be 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -8,10 +8,14 @@ #include #include +#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; -- 2.47.3