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


Reply via email to