Re: v6.13-rc1: Module signing stopped working for external modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 10, 2025 at 3:44 PM Torsten Hilbrich
<torsten.hilbrich@xxxxxxxxxxx> wrote:
>
> On 09.01.25 07:35, Torsten Hilbrich wrote:
> > Hello,
> >
> > after testing v6.13-rc1 after successfully using v6.12 I noticed that
> > our external modules are no longer building correctly.
> >
> > - Module source: /build/client/devel/addmodules/vtx/work/vtx
> > - Kernel source: /build/client/devel/kernel/work/linux-2.6
> >    Symlinked by build-source
> >
> > We run the module_install step:
> >
> > ----------------
> > make -C build-source M=/build/client/devel/addmodules/vtx/work/vtx
> > modules_install INSTALL_MOD_PATH=/build/client/devel/addmodules/vtx/_
> > INSTALL_MOD_DIR=extra
> > make[5]: Entering directory '/build/client/devel/kernel/work/linux-2.6'
> > make[6]: Entering directory '/build/client/devel/addmodules/vtx/work/vtx'
> >    INSTALL
> > /build/client/devel/addmodules/vtx/_/lib/modules/6.13.0-devel+/extra/vtx.ko
> >    SIGN
> > /build/client/devel/addmodules/vtx/_/lib/modules/6.13.0-devel+/extra/vtx.ko
> > /bin/sh: 1: scripts/sign-file: not found
> >    DEPMOD  /build/client/devel/addmodules/vtx/_/lib/modules/6.13.0-devel+
> > make[6]: Leaving directory '/build/client/devel/addmodules/vtx/work/vtx'
> > make[5]: Leaving directory '/build/client/devel/kernel/work/linux-2.6'
> > ---------------->
> > The problem here is that before calling cmd_sign (scripts/sign-file) the
> > build system now changes to the module source.
>
> As workaround I used the following modification:
>
> diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
> index 6fa9af4a25b4..67f081a68364 100644
> --- a/scripts/Makefile.modinst
> +++ b/scripts/Makefile.modinst
> @@ -105,7 +105,7 @@ else
>   sig-key := $(CONFIG_MODULE_SIG_KEY)
>   endif
>   quiet_cmd_sign = SIGN    $@
> -      cmd_sign = scripts/sign-file $(CONFIG_MODULE_SIG_HASH) "$(sig-key)" certs/signing_key.x509 $@ \
> +      cmd_sign = $(srctree)/scripts/sign-file $(CONFIG_MODULE_SIG_HASH) "$(sig-key)" $(srctree)/certs/signing_key.x509 $@ \
>                    $(if $(KBUILD_EXTMOD),|| true)
>

Please add $(objtree)/ instead of $(srctree)/
in case the kernel was O= option.



Please submit a patch with this tag.

Fixes: 13b25489b6f8 ("kbuild: change working directory to external
module directory with M=")


Then, I will pick it up.
Thanks.


-- 
Best Regards
Masahiro Yamada





[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux