Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Medium] Incomplete fix and inconsistent state: The patch correctly unsets 
`sub_make_done` for the `kselftest` targets to allow Kbuild command-line 
reevaluation when building external kernel modules. However, it fails to apply 
the same logic to the `tools/` and `tools/%` targets, introducing a discrepancy 
between build entry points.
--

commit 06c418388d65deb3d8494a6e8e7071c0e709186b
Author: Thomas Weißschuh <[email protected]>

kbuild: unset sub_make_done before calling kselftest build system

This commit unsets sub_make_done before invoking the kselftest build system to
ensure Kbuild reevaluates command-line flags when building test modules. It
mirrors a previous fix done for scripts/install.sh.

> diff --git a/Makefile b/Makefile
> index b9c5792c79e01..f717a4dc96d6a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1591,10 +1591,10 @@ tools/%: FORCE
>  
>  PHONY += kselftest
>  kselftest: headers
> -     $(Q)$(MAKE) -C $(srctree)/tools/testing/selftests run_tests
> +     $(Q)unset sub_make_done; $(MAKE) -C $(srctree)/tools/testing/selftests 
> run_tests

[Severity: Medium]
Will make tools/selftests still fail after this change?

The tools/ and tools/% targets in Makefile delegate to the tools build
system, which can also trigger external kernel module builds (like bpf_testmod).

Because sub_make_done is not unset for these targets, invoking commands like
make tools/selftests or make tools/all will skip Kbuild's M= argument parsing.

Should sub_make_done also be unset in the tools/ and tools/% targets to maintain
consistency across the build entry points?

>  kselftest-%: headers FORCE
> -     $(Q)$(MAKE) -C $(srctree)/tools/testing/selftests $*
> +     $(Q)unset sub_make_done; $(MAKE) -C $(srctree)/tools/testing/selftests 
> $*
>  
>  PHONY += kselftest-merge
>  kselftest-merge:

-- 
Sashiko AI review · 
https://sashiko.dev/#/patchset/20260703-makefile-unset-submake-done-v1-1-6899248f3...@linutronix.de?part=1

Reply via email to