From 35e03f6302c9180a9839a8585da9af245c737607 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Tue, 28 Oct 2025 23:00:44 +0100 Subject: [PATCH] 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. --- src/core/exec-invoke.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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) -- 2.47.3