On 11/22/24 4:19 PM, Matthew Maurer wrote:
> If you know that your kernel modules will only ever be loaded by a newer
> kernel, you can disable BASIC_MODVERSIONS to save space. This also
> allows easy creation of test modules to seee how tooling will respond to
> modules that only have the new format.
> 
> Signed-off-by: Matthew Maurer <mmau...@google.com>
> ---
>  kernel/module/Kconfig    | 15 +++++++++++++++
>  scripts/Makefile.modpost |  1 +
>  scripts/mod/modpost.c    | 19 +++++++++++--------
>  3 files changed, 27 insertions(+), 8 deletions(-)
> 
> diff --git a/kernel/module/Kconfig b/kernel/module/Kconfig
> index 
> a31c617cd67d3d66b24d2fba34cbd5cc9c53ab78..f28b361494c4b4cc2446d683589f9452a0043b2b
>  100644
> --- a/kernel/module/Kconfig
> +++ b/kernel/module/Kconfig
> @@ -161,6 +161,7 @@ config MODULE_UNLOAD_TAINT_TRACKING
>  config MODVERSIONS
>       bool "Module versioning support"
>       depends on !COMPILE_TEST
> +     selects BASIC_MODVERSIONS

tested?  'selects' is not valid.

>       help
>         Usually, you have to use modules compiled with your kernel.
>         Saying Y here makes it sometimes possible to use modules
> @@ -218,6 +219,20 @@ config EXTENDED_MODVERSIONS
>         The most likely reason you would enable this is to enable Rust
>         support. If unsure, say N.
>  
> +config BASIC_MODVERSIONS
> +     bool "Basic Module Versioning Support"
> +     depends on MODVERSIONS
> +     help
> +       This enables basic MODVERSIONS support, allowing older tools or
> +       kernels to potentially load modules.
> +
> +       Disabling this may cause older `modprobe` or `kmod` to be unable
> +       to read MODVERSIONS information from built modules. With this
> +       disabled, older kernels may treat this module as unversioned.
> +
> +       This is enabled by default when MODVERSIONS are enabled.
> +       If unsure, say Y.
> +
>  config MODULE_SRCVERSION_ALL
>       bool "Source checksum for all modules"
>       help


-- 
~Randy


Reply via email to