[PATCH v2 0/8] module: Move 'struct module_signature' to UAPI

From: Thomas Weißschuh

Date: Thu Mar 05 2026 - 02:14:43 EST


This structure definition is used outside the kernel proper.
For example in kmod and the kernel build environment.

To allow reuse, move it to a new UAPI header.

While it is not a true UAPI, it is a common practice to have
non-UAPI interface definitions in the kernel's UAPI headers.

This came up as part of my CONFIG_MODULE_HASHES series [0].
But it is useful on its own and so we get it out of the way.

[0] https://lore.kernel.org/lkml/aZ3OfJJSJgfOb0rJ@levanger/

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
---
Changes in v2:
- Drop spurious definition of MODULE_SIGNATURE_TYPE_MERKLE.
- s/modules/module/ in two patch subjects.
- Pick up review tags.
- Link to v1: https://lore.kernel.org/r/20260302-module-signature-uapi-v1-0-207d955e0d69@xxxxxxxxxxxxx

---
Thomas Weißschuh (8):
extract-cert: drop unused definition of PKEY_ID_PKCS7
module: Drop unused signature types
module: Give 'enum pkey_id_type' a more specific name
module: Give MODULE_SIG_STRING a more descriptive name
module: Move 'struct module_signature' to UAPI
tools uapi headers: add linux/module_signature.h
sign-file: use 'struct module_signature' from the UAPI headers
selftests/bpf: verify_pkcs7_sig: Use 'struct module_signature' from the UAPI headers

arch/s390/kernel/machine_kexec_file.c | 6 ++--
certs/extract-cert.c | 2 --
include/linux/module_signature.h | 30 +---------------
include/uapi/linux/module_signature.h | 41 ++++++++++++++++++++++
kernel/module/signing.c | 4 +--
kernel/module_signature.c | 2 +-
scripts/Makefile | 1 +
scripts/sign-file.c | 19 +++-------
security/integrity/ima/ima_modsig.c | 6 ++--
tools/include/uapi/linux/module_signature.h | 41 ++++++++++++++++++++++
.../selftests/bpf/prog_tests/verify_pkcs7_sig.c | 28 ++-------------
11 files changed, 100 insertions(+), 80 deletions(-)
---
base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
change-id: 20260302-module-signature-uapi-61fa80b1e2bb

Best regards,
--
Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>