From: Daan De Meyer Date: Tue, 28 Oct 2025 22:00:44 +0000 (+0100) Subject: core: Don't setup mount propagation tunnel if not required X-Git-Tag: v259-rc1~232 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35e03f6302c9180a9839a8585da9af245c737607;p=thirdparty%2Fsystemd.git core: Don't setup mount propagation tunnel if not required If we know we have mount_setattr(), then we don't need the mount propagation tunnel, so don't set it up. --- diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c index 2448baa125c..27eb8bc53c1 100644 --- a/src/core/exec-invoke.c +++ b/src/core/exec-invoke.c @@ -53,6 +53,7 @@ #include "memfd-util.h" #include "mkdir-label.h" #include "mount-util.h" +#include "mountpoint-util.h" #include "namespace-util.h" #include "nsflags.h" #include "open-file.h" @@ -3806,13 +3807,15 @@ static int apply_mount_namespace( return r; if (params->runtime_scope == RUNTIME_SCOPE_SYSTEM) { - propagate_dir = path_join("/run/systemd/propagate/", params->unit_id); - if (!propagate_dir) - return -ENOMEM; + if (!mount_new_api_supported()) { + propagate_dir = path_join("/run/systemd/propagate/", params->unit_id); + if (!propagate_dir) + return -ENOMEM; - incoming_dir = strdup("/run/systemd/incoming"); - if (!incoming_dir) - return -ENOMEM; + incoming_dir = strdup("/run/systemd/incoming"); + if (!incoming_dir) + return -ENOMEM; + } private_namespace_dir = strdup("/run/systemd"); if (!private_namespace_dir)