From: Daan De Meyer Date: Mon, 17 Mar 2025 15:01:26 +0000 (+0100) Subject: run: Stop agents before we drop privileges X-Git-Tag: v258-rc1~1041^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a2425e8a8b51b6c0c100b73ecd7c1b4c8003f21a;p=thirdparty%2Fsystemd.git run: Stop agents before we drop privileges After dropping privileges, we won't be able to stop agents anymore as our signals will get ignored. --- diff --git a/src/run/run.c b/src/run/run.c index cdb5cfefd62..e4ae5373b92 100644 --- a/src/run/run.c +++ b/src/run/run.c @@ -2483,6 +2483,11 @@ static int start_transient_scope(sd_bus *bus) { return log_oom(); } + /* Stop agents before we pass control away and before we drop privileges, to avoid TTY conflicts and + * before we become unable to stop agents. */ + polkit_agent_close(); + ask_password_agent_close(); + if (arg_nice_set) { if (setpriority(PRIO_PROCESS, 0, arg_nice) < 0) return log_error_errno(errno, "Failed to set nice level: %m"); @@ -2571,10 +2576,6 @@ static int start_transient_scope(sd_bus *bus) { } } - /* Stop agents before we pass control away, to avoid TTY conflicts */ - polkit_agent_close(); - ask_password_agent_close(); - execvpe(arg_cmdline[0], arg_cmdline, env); return log_error_errno(errno, "Failed to execute: %m");