On Fri, May 09, 2025 at 12:42:39AM +0900, Masahiro Yamada wrote:
> On Mon, May 5, 2025 at 6:39 PM Alexey Gladkov <leg...@kernel.org> wrote:
> >
> > For some modules, modalias is generated using the modpost utility and
> > the section is added to the module file.
> >
> > When a module is added inside vmlinux, modpost does not generate
> > modalias for such modules and the information is lost.
> >
> > As a result kmod (which uses modules.builtin.modinfo in userspace)
> > cannot determine that modalias is handled by a builtin kernel module.
> >
> > $ cat /sys/devices/pci0000:00/0000:00:14.0/modalias
> > pci:v00008086d0000A36Dsv00001043sd00008694bc0Csc03i30
> >
> > $ modinfo xhci_pci
> > name:           xhci_pci
> > filename:       (builtin)
> > license:        GPL
> > file:           drivers/usb/host/xhci-pci
> > description:    xHCI PCI Host Controller Driver
> >
> > Missing modalias "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 generate the same modalias for vmlinux as
> > for the individual modules. Fortunately '.vmlinux.export.o' is already
> > generated from which '.modinfo' can be extracted in the same way as for
> > vmlinux.o.
> >
> > Signed-off-by: Alexey Gladkov <leg...@kernel.org>
> > ---
> >
> > v2: As Petr Pavlu suggested, I separated the builtin modules from the 
> > external
> >     modules. I've also added a search for duplicate modules.
> >
> 
> 
> 
> > ---
> >  include/linux/module.h   |  4 ----
> >  scripts/mod/file2alias.c |  5 +++++
> >  scripts/mod/modpost.c    | 35 +++++++++++++++++++++++++++--------
> >  scripts/mod/modpost.h    | 15 ++++++++++++++-
> >  4 files changed, 46 insertions(+), 13 deletions(-)
> 
> 
> I can implement this with less code change.
> 
> I attached my patch.

That is a good point. I'm gonna do it this way. Thanks!

-- 
Rgrds, legion


Reply via email to