From: Alexey Gladkov <legion@kernel.org>
To: Luis Chamberlain <mcgrof@kernel.org>,
Petr Pavlu <petr.pavlu@suse.com>,
Sami Tolvanen <samitolvanen@google.com>,
Daniel Gomez <da.gomez@samsung.com>,
Masahiro Yamada <masahiroy@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nicolas.schier@linux.dev>
Cc: linux-kernel@vger.kernel.org, linux-modules@vger.kernel.org,
linux-kbuild@vger.kernel.org, Alexey Gladkov <legion@kernel.org>
Subject: [PATCH v1 0/7] Add generated modalias to modules.builtin.modinfo
Date: Sat, 26 Apr 2025 18:16:31 +0200 [thread overview]
Message-ID: <cover.1745591072.git.legion@kernel.org> (raw)
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.
Alexey Gladkov (7):
mfd: stmpe-spi: Correct the name used in MODULE_DEVICE_TABLE
scsi: Define MODULE_DEVICE_TABLE only if necessary
modules: Add macros to specify modinfo prefix
modpost: Make mod_device_table aliases more unique
modpost: Create modalias for builtin modules
kbuild: Move modules.builtin.modinfo to another makefile
kbuild: Create modules.builtin.modinfo for modpost results
drivers/mfd/stmpe-spi.c | 2 +-
drivers/scsi/BusLogic.c | 2 +-
include/linux/module.h | 21 +++++++++++-----
include/linux/moduleparam.h | 7 ++++--
scripts/Makefile.vmlinux | 50 +++++++++++++++++++++++++++++++++++++
scripts/Makefile.vmlinux_o | 26 +------------------
scripts/mod/file2alias.c | 31 +++++++++++++++++++----
scripts/mod/modpost.c | 21 +++++++++++++---
scripts/mod/modpost.h | 7 +++++-
9 files changed, 123 insertions(+), 44 deletions(-)
--
2.49.0
next reply other threads:[~2025-04-26 16:18 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-26 16:16 Alexey Gladkov [this message]
2025-04-26 16:16 ` [PATCH v1 1/7] mfd: stmpe-spi: Correct the name used in MODULE_DEVICE_TABLE Alexey Gladkov
2025-04-27 11:01 ` Krzysztof Kozlowski
2025-05-01 12:29 ` Lee Jones
2025-05-01 12:27 ` (subset) " Lee Jones
2025-04-26 16:16 ` [PATCH v1 2/7] scsi: Define MODULE_DEVICE_TABLE only if necessary Alexey Gladkov
2025-04-26 16:16 ` [PATCH v1 3/7] modules: Add macros to specify modinfo prefix Alexey Gladkov
2025-04-26 16:16 ` [PATCH v1 4/7] modpost: Make mod_device_table aliases more unique Alexey Gladkov
2025-04-26 16:16 ` [PATCH v1 5/7] modpost: Create modalias for builtin modules Alexey Gladkov
2025-04-29 9:25 ` Petr Pavlu
2025-04-29 10:04 ` Alexey Gladkov
2025-04-29 12:49 ` Alexey Gladkov
2025-04-29 14:14 ` Petr Pavlu
2025-04-29 15:15 ` Alexey Gladkov
2025-05-03 10:26 ` Petr Pavlu
2025-05-05 9:38 ` [PATCH v2 " Alexey Gladkov
2025-05-05 9:46 ` Alexey Gladkov
2025-05-08 15:42 ` Masahiro Yamada
2025-05-09 16:44 ` Alexey Gladkov
2025-04-26 16:16 ` [PATCH v1 6/7] kbuild: Move modules.builtin.modinfo to another makefile Alexey Gladkov
2025-04-26 16:16 ` [PATCH v1 7/7] kbuild: Create modules.builtin.modinfo for modpost results Alexey Gladkov
2025-04-28 13:47 ` [PATCH v1 0/7] Add generated modalias to modules.builtin.modinfo Petr Pavlu
2025-04-28 15:35 ` Alexey Gladkov
2025-05-09 16:42 ` [PATCH v2 0/6] " Alexey Gladkov
2025-05-09 16:42 ` [PATCH v2 1/6] scsi: Define MODULE_DEVICE_TABLE only if necessary Alexey Gladkov
2025-05-09 16:42 ` [PATCH v2 2/6] modules: Add macros to specify modinfo prefix Alexey Gladkov
2025-05-12 14:50 ` Petr Pavlu
2025-05-09 16:42 ` [PATCH v2 3/6] modpost: Make mod_device_table aliases more unique Alexey Gladkov
2025-05-12 14:51 ` Petr Pavlu
2025-05-09 16:42 ` [PATCH v2 4/6] modpost: Create modalias for builtin modules Alexey Gladkov
2025-05-12 14:52 ` Petr Pavlu
2025-05-09 16:42 ` [PATCH v2 5/6] kbuild: Move modules.builtin.modinfo to another makefile Alexey Gladkov
2025-05-09 16:42 ` [PATCH v2 6/6] kbuild: Create modules.builtin.modinfo for modpost results Alexey Gladkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1745591072.git.legion@kernel.org \
--to=legion@kernel.org \
--cc=da.gomez@samsung.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=mcgrof@kernel.org \
--cc=nathan@kernel.org \
--cc=nicolas.schier@linux.dev \
--cc=petr.pavlu@suse.com \
--cc=samitolvanen@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).