Hi, sorry for the delay. On Mon, Jul 14, 2025 at 10:41 PM Alexey Gladkov <legion@xxxxxxxxxx> wrote: > > On Sat, Jun 21, 2025 at 03:57:12PM +0200, Alexey Gladkov wrote: > > The modules.builtin.modinfo file is used by userspace (kmod to be specific) to > > get information about builtin modules. Among other information about the module, > > information about module aliases is stored. This is very important to determine > > that a particular modalias will be handled by a module that is inside the > > kernel. > > > > There are several mechanisms for creating modalias for modules: > > > > The first is to explicitly specify the MODULE_ALIAS of the macro. In this case, > > the aliases go into the '.modinfo' section of the module if it is compiled > > separately or into vmlinux.o if it is builtin into the kernel. > > > > The second is the use of MODULE_DEVICE_TABLE followed by the use of the > > modpost utility. In this case, vmlinux.o no longer has this information and > > does not get it into modules.builtin.modinfo. > > > > For example: > > > > $ modinfo pci:v00008086d0000A36Dsv00001043sd00008694bc0Csc03i30 > > modinfo: ERROR: Module pci:v00008086d0000A36Dsv00001043sd00008694bc0Csc03i30 not found. > > > > $ modinfo xhci_pci > > name: xhci_pci > > filename: (builtin) > > license: GPL > > file: drivers/usb/host/xhci-pci > > description: xHCI PCI Host Controller Driver > > > > The builtin module is missing alias "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 add the generated by modpost modalias to > > modules.builtin.modinfo. > > > > Fortunately modpost already generates .vmlinux.export.c for exported symbols. It > > is possible to use this file to create a '.modinfo' section for builtin modules. > > The modules.builtin.modinfo file becomes a composite file. One part is extracted > > from vmlinux.o, the other part from .vmlinux.export.o. > > Masahiro Yamada, does this version of the patchset look better to you ? Looks better, but this may break s390 build: https://lore.kernel.org/linux-kbuild/202506062053.zbkFBEnJ-lkp@xxxxxxxxx/ I have not taken a close look at it. If we do not find how to fix the warning, we would end up with the original solution. > > Notes: > > - v4: > > * Rework the patchset based on top of Masahiro Yamada's patches. > > * Add removal of unnecessary __mod_device_table__* symbols to avoid symbol > > table growth in vmlinux. > > * rust code takes into account changes in __mod_device_table__*. > > * v3: https://lore.kernel.org/all/cover.1748335606.git.legion@xxxxxxxxxx/ > > > > - v3: > > * Add `Reviewed-by` tag to patches from Petr Pavlu. > > * Rebase to v6.15. > > * v2: https://lore.kernel.org/all/20250509164237.2886508-1-legion@xxxxxxxxxx/ > > > > - v2: > > * Drop patch for mfd because it was already applied and is in linux-next. > > * The generation of aliases for builtin modules has been redone as > > suggested by Masahiro Yamada. > > * Rebase to v6.15-rc5-136-g9c69f8884904 > > * v1: https://lore.kernel.org/all/cover.1745591072.git.legion@xxxxxxxxxx/ > > > > > > Alexey Gladkov (3): > > scsi: Always define blogic_pci_tbl structure > > modpost: Add modname to mod_device_table alias > > modpost: Create modalias for builtin modules > > > > Masahiro Yamada (4): > > module: remove meaningless 'name' parameter from __MODULE_INFO() > > kbuild: always create intermediate vmlinux.unstripped > > kbuild: keep .modinfo section in vmlinux.unstripped > > kbuild: extract modules.builtin.modinfo from vmlinux.unstripped > > > > drivers/scsi/BusLogic.c | 2 - > > include/asm-generic/vmlinux.lds.h | 2 +- > > include/crypto/algapi.h | 4 +- > > include/linux/module.h | 21 ++++----- > > include/linux/moduleparam.h | 9 ++-- > > include/net/tcp.h | 4 +- > > rust/kernel/device_id.rs | 8 ++-- > > scripts/Makefile.vmlinux | 74 +++++++++++++++++++++---------- > > scripts/Makefile.vmlinux_o | 26 +---------- > > scripts/mksysmap | 6 +++ > > scripts/mod/file2alias.c | 34 ++++++++++++-- > > scripts/mod/modpost.c | 17 ++++++- > > scripts/mod/modpost.h | 2 + > > 13 files changed, 131 insertions(+), 78 deletions(-) > > > > -- > > 2.49.0 > > > > -- > Rgrds, legion > -- Best Regards Masahiro Yamada