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

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

 



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.

In v6.12 the build system was still in the kernel source tree when running this command so "scripts/sign-file" was found.

Here from a build log with a 6.8.12 kernel (/build/client/daily/kernel/work/linux-2.6 being the kernel source here):

----------------
make[4]: Entering directory '/build/client/daily/addmodules/vtx/work/vtx'
make -C build-source M=/build/client/daily/addmodules/vtx/work/vtx modules_install INSTALL_MOD_PATH=/build/client/daily/addmodules/vtx/_ INSTALL_MOD_DIR=extra
make[5]: Entering directory '/build/client/daily/kernel/work/linux-2.6'
  INSTALL /build/client/daily/addmodules/vtx/_/lib/modules/6.8.12-grsec+/extra/vtx.ko
  SIGN    /build/client/daily/addmodules/vtx/_/lib/modules/6.8.12-grsec+/extra/vtx.ko
  DEPMOD  /build/client/daily/addmodules/vtx/_/lib/modules/6.8.12-grsec+
make[5]: Leaving directory '/build/client/daily/kernel/work/linux-2.6'
----------------

Here the sign-file call is made with cwd being the kernel source.

I also tried the new method in v6.13 by invoking "make -f /build/client/devel/kernel/work/linux-2.6/Makefile" with the same result.

Here is the relevant part of our Makefile for building the module:

----------------
TARGETS = vtx

obj-m := vtx.o

vtx-objs := main.o intel.o amd.o
subdir = extra

KERNEL_SOURCE ?= build-source
BUILD = $(MAKE) -C $(KERNEL_SOURCE) M=$(CURDIR)

.PHONY: all install clean

all:
    ln -sf $(KERNEL_SOURCE) build-source
    $(BUILD)

clean:
    $(BUILD) $@

install:
    $(BUILD) modules_install INSTALL_MOD_PATH=$(DESTDIR) INSTALL_MOD_DIR=$(subdir)
----------------

KERNEL_SOURCE is suppliced when running the all target. DESTDIR is supplied when running install.

The module_sign target fails as well.

I already consulted the updated documentation but couldn't find any problem in that invocation (which still works in v6.12).

Thanks,

	Torsten




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

  Powered by Linux