From a2425e8a8b51b6c0c100b73ecd7c1b4c8003f21a Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 17 Mar 2025 16:01:26 +0100 Subject: [PATCH] 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. --- src/run/run.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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"); -- 2.47.3