• Luis Chamberlain's avatar
    kbuild: Modify default INSTALL_MOD_DIR from extra to updates · b74d7bb7
    Luis Chamberlain authored
    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 releases 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@kernel.orgSigned-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
    Acked-by: default avatarDan Williams <dan.j.williams@intel.com>
    Acked-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
    b74d7bb7
Makefile.modinst 2.46 KB