From: Mike Yuan Date: Fri, 21 Nov 2025 22:23:46 +0000 (+0100) Subject: core/exec-invoke: remove redundant accmode validation on stderr X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7498c391eca1bb92db0feeeb92308cf02d575d4a;p=thirdparty%2Fsystemd.git core/exec-invoke: remove redundant accmode validation on stderr Follow-up for 171ceb4a00294c700c0ba6906a3a3abad846699e In setup_output() we assume stdout has been set up properly before stderr, hence the stdout we're inheriting from must be writable (or more precisely, would have been adjusted to be). Hence no need to duplicate it. --- diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c index 7cc377a2535..24e553e1225 100644 --- a/src/core/exec-invoke.c +++ b/src/core/exec-invoke.c @@ -546,17 +546,8 @@ static int setup_output( return fileno; /* Duplicate from stdout if possible */ - if (can_inherit_stderr_from_stdout(context)) { - r = fd_is_writable(STDOUT_FILENO); - if (r <= 0) { - if (r < 0) - log_warning_errno(r, "Failed to check if inherited stdout is writable for stderr, falling back to /dev/null."); - else - log_warning("Inherited stdout is not writable for stderr, falling back to /dev/null."); - return open_null_as(O_WRONLY, fileno); - } + if (can_inherit_stderr_from_stdout(context)) return RET_NERRNO(dup2(STDOUT_FILENO, fileno)); - } o = context->std_error;