Re: [PATCH] kbuild: Modify default INSTALL_MOD_DIR from extra to updates

From: Nicolas Schier
Date: Thu Dec 15 2022 - 23:10:18 EST


On Wed 14 Dec 2022 15:17:18 GMT, Luis Chamberlain wrote:
> The default INSTALL_MOD_DIR of using the /lib/modules/$(uname -r)/extra
> directory for external modules assumes distributions will have something
> like /etc/depmod.d/dist.conf with:
>
> search updates extra built-in
>
> However, only some Red Hat release have and use the extra stuff for
> years now. Meanwhile, the depmod.c tool in kmod has *forever* used
> the "updates" directory as part of the search path by default *if*
> your distribution does not have any depmod.d configuration.
>
> If you compile and install an external module today, even upstream
> kernel mock drivers (tools/testing/cxl) the modules_install target
> will pick up the new drivers but will not allow override of drivers
> from updates to override built-in ones.
>
> Since module-init-tools was deprecated over 11 years ago and now kmod
> has since its inception used the "updates" directory as part of its
> default search path to allow overrides, and since the "extra" stuff
> was in practice only used by Red Hat stuff, use the more distro
> agnostic override path "updates" to allow external modules to
> also override proper production kernel modules.
>
> This would allow mocking drivers tools to not have to muck with
> depmod.d config files or assume that your distro will have extra
> on a configuration file over built-in.
>
> With today's default you end up actually *crashing* Linux when
> trying to load cxl_test with the default "extra" [0] directory being
> used. This fixes that and allows other mocking drivers to do
> less work.
>
> [0] https://lkml.kernel.org/r/20221209062919.1096779-1-mcgrof@xxxxxxxxxx
> Signed-off-by: Luis Chamberlain <mcgrof@xxxxxxxxxx>
> ---
> scripts/Makefile.modinst | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx>

Attachment: signature.asc
Description: PGP signature