Re: [PATCH RESEND] kbuild: Stop modifying $(objtree)/Makefile when building oot-kmods oos
From: Nathan Chancellor
Date: Thu Jul 23 2026 - 19:16:44 EST
> Update output Makefile in the corresponding tree only: for out-of-source
> in-tree builds update $(objtree)/Makefile, for out-of-source out-of-tree
> module builds update $(KBUILD_EXTMOD_OUTPUT)/Makefile instead.
>
> In-source builds are not affected.
>
> Since commit c9bb03ac2c66 ("kbuild: reduce output spam when building out
> of tree"), building out-of-tree kernel modules out-of-source (make M=...
> MO=...) causes a rewrite of $(objtree)/Makefile with KBUILD_EXTMOD and
> KBUILD_EXTMOD_OUTPUT being set. That is problematic:
>
> * $(objtree)/ must not be changed in any way when building out-of-tree
> modules as it breaks other uses of $(objtree).
>
> * Setting KBUILD_EXTMOD and KBUILD_EXTMOD_OUTPUT in $(objtree)/Makefile
> kills the tree for incremental builds that start right there
> ('make -C $(objtree)'); builds starting in $(srctree) reset
> $(objtree)/Makefile to its original content.
>
> Further, $(KBUILD_EXTMOD_OUTPUT)/Makefile was not generated any more at
> all.
>
> This commit restores the previous kbuild behaviour prior to commit
> c9bb03ac2c66 ("kbuild: reduce output spam when building out of tree")
> but leaves in-place the use of filechk for output spam reduction.
>
> Fixes: c9bb03ac2c66 ("kbuild: reduce output spam when building out of tree")
> Reported-by: Anish Rashinkar <rashinkar.anish@xxxxxxxxx>
> Closes: https://lore.kernel.org/r/CAOESE2Q2-0KUDaM0mUo+c_F-tMaUsBZ-gpnhdoe0rmYdgnnuJQ@xxxxxxxxxxxxxx
> Cc: stable@xxxxxxxxxxxxxxx
> Tested-by: Philipp Hahn <p.hahn@xxxxxx>
> Reviewed-by: Philipp Hahn <p.hahn@xxxxxx>
> Signed-off-by: Nicolas Schier <n.schier@xxxxxxxxx>
> Signed-off-by: Nicolas Schier <nsc@xxxxxxxxxx>
Thanks!
Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>
Tested-by: Nathan Chancellor <nathan@xxxxxxxxxx>
Do you want me to take this via kbuild-fixes?
--
Cheers,
Nathan