On Wed, Jul 16, 2025 at 01:23:26AM +0900, Masahiro Yamada wrote: > Hi, sorry for the delay. > > On Mon, Jul 14, 2025 at 10:41 PM Alexey Gladkov <leg...@kernel.org> 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-...@intel.com/ > > 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.
I think I found a problem. I just pushed fix to my branch. I'll make a new version of the patchset in a few days. I want to test it a bit longer. > > > 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.leg...@kernel.org/ > > > > > > - v3: > > > * Add `Reviewed-by` tag to patches from Petr Pavlu. > > > * Rebase to v6.15. > > > * v2: > > > https://lore.kernel.org/all/20250509164237.2886508-1-leg...@kernel.org/ > > > > > > - 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.leg...@kernel.org/ > > > > > > > > > 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 > -- Rgrds, legion