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> Thanks for digging into the history here Luis! Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx>