]> Git Repo - linux.git/commitdiff
hardening: Adjust dependencies in selection of MODVERSIONS
authorNathan Chancellor <[email protected]>
Sat, 28 Sep 2024 18:13:13 +0000 (11:13 -0700)
committerKees Cook <[email protected]>
Sat, 28 Sep 2024 20:56:03 +0000 (13:56 -0700)
MODVERSIONS recently grew a dependency on !COMPILE_TEST so that Rust
could be more easily tested. However, this introduces a Kconfig warning
when building allmodconfig with a clang version that supports RANDSTRUCT
natively because RANDSTRUCT_FULL and RANDSTRUCT_PERFORMANCE select
MODVERSIONS when MODULES is enabled, bypassing the !COMPILE_TEST
dependency:

  WARNING: unmet direct dependencies detected for MODVERSIONS
    Depends on [n]: MODULES [=y] && !COMPILE_TEST [=y]
    Selected by [y]:
    - RANDSTRUCT_FULL [=y] && (CC_HAS_RANDSTRUCT [=y] || GCC_PLUGINS [=n]) && MODULES [=y]

Add the !COMPILE_TEST dependency to the selections to clear up the
warning.

Fixes: 1f9c4a996756 ("Kbuild: make MODVERSIONS support depend on not being a compile test build")
Signed-off-by: Nathan Chancellor <[email protected]>
Link: https://lore.kernel.org/r/20240928-fix-randstruct-modversions-kconfig-warning-v1-1-27d3edc8571e@kernel.org
Signed-off-by: Kees Cook <[email protected]>
security/Kconfig.hardening

index 2cff851ebfd7e13b955693be9f5818ac6f8bbf03..c9d5ca3d8d08de237102f1ffe3f310636ae0d6ff 100644 (file)
@@ -340,7 +340,7 @@ choice
        config RANDSTRUCT_FULL
                bool "Fully randomize structure layout"
                depends on CC_HAS_RANDSTRUCT || GCC_PLUGINS
-               select MODVERSIONS if MODULES
+               select MODVERSIONS if MODULES && !COMPILE_TEST
                help
                  Fully randomize the member layout of sensitive
                  structures as much as possible, which may have both a
@@ -356,7 +356,7 @@ choice
        config RANDSTRUCT_PERFORMANCE
                bool "Limit randomization of structure layout to cache-lines"
                depends on GCC_PLUGINS
-               select MODVERSIONS if MODULES
+               select MODVERSIONS if MODULES && !COMPILE_TEST
                help
                  Randomization of sensitive kernel structures will make a
                  best effort at restricting randomization to cacheline-sized
This page took 0.057308 seconds and 4 git commands to generate.