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

