Re: [PATCH v5 2/4] scripts/jobserver-exec: propagate child exit status
From: Krzysztof Kozlowski
Date: Tue Jun 09 2026 - 13:14:46 EST
On Wed, May 27, 2026 at 08:32:18PM +0100, Daniel Golle wrote:
> main() called JobserverExec().run() and discarded its return value,
> then the script exited with the implicit status 0. As a result, any
> Makefile that wired a build step through jobserver-exec saw the step
> silently succeed even when the wrapped command had failed.
>
> Two in-tree callers were affected:
>
> Documentation/devicetree/bindings/Makefile
> cmd_chk_style runs a python checker via jobserver-exec and uses
> "&& touch $@ || true" so failures leave the stamp file untouched
> and the next make rerun reports them again. The swallowed exit
> code made the stamp file get created even on failure, caching the
> failed run and hiding the reported issues until the inputs change.
>
> scripts/Makefile.vmlinux_o
> cmd_gen_initcalls_lds runs scripts/generate_initcall_order.pl via
> jobserver-exec; a perl failure was masked by the wrapper.
>
> Return the subprocess exit code from main() and pass it to sys.exit()
> so the wrapped command's status reaches make.
>
> Signed-off-by: Daniel Golle <daniel@xxxxxxxxxxxxxx>
> ---
> v5: new patch; prereq for chk_style in 3/4 so style failures
> leave the stamp file untouched instead of being cached
>
> scripts/jobserver-exec | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxxxxx>
Best regards,
Krzysztof