Re: [PATCH v5 2/4] scripts/jobserver-exec: propagate child exit status
Nicolas Schier <[email protected]>
| Newsgroups | org.kernel.vger.linux-kbuild,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <ai2VuFWUxVRGjGKR@levanger> |
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 <[email protected]> > --- > 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(-) > > diff --git a/scripts/jobserver-exec b/scripts/jobserver-exec > index 758e947a6fb9..21b319e6c9a5 100755 > --- a/scripts/jobserver-exec > +++ b/scripts/jobserver-exec > @@ -28,8 +28,8 @@ def main(): > sys.exit("usage: " + name +" command [args ...]\n" + __doc__) > > with JobserverExec() as jobserver: > - jobserver.run(sys.argv[1:]) > + return jobserver.run(sys.argv[1:]) > > > if __name__ == "__main__": > - main() > + sys.exit(main()) > -- > 2.54.0 Good catch, thanks! For kbuild: Reviewed-by: Nicolas Schier <[email protected]> -- Nicolas