Hi Alexey, On Thu, Sep 18, 2025 at 10:05:44AM +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 add `.modinfo` for builtin modules and > modify the build system so that `.modinfo` section is extracted from the > intermediate vmlinux after modpost is executed.
This seems good to me now. I have tentatively merged this into kbuild-next so that it can get some more soak testing in -next, as I am going to be paying less attention to email starting on Sunday for a week or so, so I would like to be able to deal with regressions promptly. https://git.kernel.org/kbuild/l/kbuild-next Don't consider the commit hashes stable just yet, as I would like to give Nicolas the chance to provide tags if he would like but I did not want to wait for the soak testing. Cheers, Nathan

