From f386b2e12c9f839e784516c08e49b2303cd5777a Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Thu, 28 Dec 2023 14:33:10 +0300 Subject: [PATCH 1/1] Change the 'decision' of the INIT_STACK_ALL_ZERO check --- kernel_hardening_checker/checks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel_hardening_checker/checks.py b/kernel_hardening_checker/checks.py index 64c69a6..0f8722c 100644 --- a/kernel_hardening_checker/checks.py +++ b/kernel_hardening_checker/checks.py @@ -53,6 +53,8 @@ def add_kconfig_checks(l, arch): modules_not_set)] # DEBUG_SET_MODULE_RONX was before v4.11 l += [OR(KconfigCheck('self_protection', 'defconfig', 'REFCOUNT_FULL', 'y'), VersionCheck((5, 5)))] # REFCOUNT_FULL is enabled by default since v5.5 + l += [OR(KconfigCheck('self_protection', 'defconfig', 'INIT_STACK_ALL_ZERO', 'y'), + KconfigCheck('self_protection', 'kspp', 'GCC_PLUGIN_STRUCTLEAK_BYREF_ALL', 'y'))] if arch in ('X86_64', 'ARM64', 'X86_32'): l += [KconfigCheck('self_protection', 'defconfig', 'RANDOMIZE_BASE', 'y')] if arch in ('X86_64', 'ARM64', 'ARM'): @@ -154,8 +156,6 @@ def add_kconfig_checks(l, arch): modules_not_set)] l += [OR(KconfigCheck('self_protection', 'kspp', 'MODULE_SIG_FORCE', 'y'), modules_not_set)] # refers to LOCKDOWN - l += [OR(KconfigCheck('self_protection', 'kspp', 'INIT_STACK_ALL_ZERO', 'y'), - KconfigCheck('self_protection', 'kspp', 'GCC_PLUGIN_STRUCTLEAK_BYREF_ALL', 'y'))] l += [OR(KconfigCheck('self_protection', 'kspp', 'INIT_ON_FREE_DEFAULT_ON', 'y'), KconfigCheck('self_protection', 'kspp', 'PAGE_POISONING_ZERO', 'y'))] # CONFIG_INIT_ON_FREE_DEFAULT_ON was added in v5.3. -- 2.31.1