From 64ba571576a54cf2b3c325fa76bd5acacc24d9d4 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Fri, 5 Dec 2025 11:54:27 +0000 Subject: [PATCH] Reapply "pid1: pull in libmount unconditionally" It was actually intended to load libmount very early, as it is needed by more than just mount units, such as umount_recursive(), bind_remount_recursive(), get_sub_mounts(), etc. Fixes https://github.com/systemd/systemd/issues/39994 This reverts commit 46b4b33c256b918652d5e0b1b5ec376b598111f6. --- src/core/main.c | 7 +++++++ src/core/meson.build | 1 + 2 files changed, 8 insertions(+) diff --git a/src/core/main.c b/src/core/main.c index d7651d0df98..f4acdb02c6c 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -59,6 +59,7 @@ #include "killall.h" #include "kmod-setup.h" #include "label-util.h" +#include "libmount-util.h" #include "limits-util.h" #include "load-fragment.h" #include "log.h" @@ -3310,6 +3311,12 @@ int main(int argc, char *argv[]) { goto finish; } + r = dlopen_libmount(); + if (r < 0) { + error_message = "Failed to load libmount.so"; + goto finish; + } + r = initialize_runtime(skip_setup, first_boot, &saved_rlimit_nofile, diff --git a/src/core/meson.build b/src/core/meson.build index d626138d71d..657574019c4 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -201,6 +201,7 @@ executables += [ 'dependencies' : [ libapparmor_cflags, libkmod_cflags, + libmount_cflags, libseccomp_cflags, libselinux_cflags, ], -- 2.47.3