linux/scripts/mod
Alexey Gladkov 5ab23c7923
modpost: Create modalias for builtin modules
For some modules, modalias is generated using the modpost utility and
the section is added to the module file.

When a module is added inside vmlinux, modpost does not generate
modalias for such modules and the information is lost.

As a result kmod (which uses modules.builtin.modinfo in userspace)
cannot determine that modalias is handled by a builtin kernel module.

$ cat /sys/devices/pci0000:00/0000:00:14.0/modalias
pci:v00008086d0000A36Dsv00001043sd00008694bc0Csc03i30

$ modinfo xhci_pci
name:           xhci_pci
filename:       (builtin)
license:        GPL
file:           drivers/usb/host/xhci-pci
description:    xHCI PCI Host Controller Driver

Missing modalias "pci:v*d*sv*sd*bc0Csc03i30*" which will be generated by
modpost if the module is built separately.

To fix this it is necessary to generate the same modalias for vmlinux as
for the individual modules. Fortunately '.vmlinux.export.o' is already
generated from which '.modinfo' can be extracted in the same way as for
vmlinux.o.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Alexey Gladkov <legion@kernel.org>
Tested-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reviewed-by: Nicolas Schier <nsc@kernel.org>
Link: https://patch.msgid.link/28d4da3b0e3fc8474142746bcf469e03752c3208.1758182101.git.legion@kernel.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
2025-09-24 09:10:45 -07:00
..
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
devicetable-offsets.c usb: typec: Only use SVID for matching altmodes 2024-12-24 08:56:05 +01:00
empty.c
file2alias.c modpost: Create modalias for builtin modules 2025-09-24 09:10:45 -07:00
Makefile Makefile: remove redundant tool coverage variables 2024-05-14 23:35:48 +09:00
mk_elfconfig.c modpost: detect endianness on run-time 2024-09-01 20:33:32 +09:00
modpost.c modpost: Create modalias for builtin modules 2025-09-24 09:10:45 -07:00
modpost.h modpost: Create modalias for builtin modules 2025-09-24 09:10:45 -07:00
sumversion.c modpost: use strstarts() to clean up parse_source_files() 2025-03-15 21:16:22 +09:00
symsearch.c modpost: replace the use of NOFAIL() with xmalloc() etc. 2024-09-01 20:34:48 +09:00