On Mon, Apr 28, 2025 at 03:47:06PM +0200, Petr Pavlu wrote: > On 4/26/25 18:16, 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. > > Could you explain what is currently broken because the device-table > alias information isn't available? I think adding this information is > reasonable, both for consistency and so kmod can display accurate > information, but is there more that I'm missing?
Yes. Right now, aliases that are generated by modpost are not available for kmod because it's not in the modules.builtin.modinfo. -- Rgrds, legion