From: Alexander Popov Date: Thu, 17 Nov 2022 13:56:18 +0000 (+0300) Subject: Add the spec_store_bypass_disable check X-Git-Tag: v0.6.1~50 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=b8dde107bdad92fcabeecc7894ca2876bb6d8217;p=kconfig-hardened-check.git Add the spec_store_bypass_disable check --- diff --git a/kconfig_hardened_check/__init__.py b/kconfig_hardened_check/__init__.py index c484b0d..7333e61 100644 --- a/kconfig_hardened_check/__init__.py +++ b/kconfig_hardened_check/__init__.py @@ -16,7 +16,6 @@ # Mitigations of CPU vulnerabilities: # Аrch-independent: # X86: -# spec_store_bypass_disable=on # l1tf=full,force # l1d_flush=on (a part of the l1tf option) # mds=full,nosmt @@ -732,10 +731,13 @@ def add_cmdline_checks(l, arch): l += [CmdlineCheck('self_protection', 'defconfig', 'nopti', 'is not set')] l += [CmdlineCheck('self_protection', 'defconfig', 'nospectre_v1', 'is not set')] l += [CmdlineCheck('self_protection', 'defconfig', 'nospectre_v2', 'is not set')] + l += [CmdlineCheck('self_protection', 'defconfig', 'nospec_store_bypass_disable', 'is not set')] l += [OR(CmdlineCheck('self_protection', 'defconfig', 'mitigations', 'is not off'), CmdlineCheck('self_protection', 'defconfig', 'mitigations', 'is not set'))] l += [OR(CmdlineCheck('self_protection', 'defconfig', 'spectre_v2', 'is not off'), CmdlineCheck('self_protection', 'defconfig', 'spectre_v2', 'is not set'))] + l += [OR(CmdlineCheck('self_protection', 'defconfig', 'spec_store_bypass_disable', 'is not off'), + CmdlineCheck('self_protection', 'defconfig', 'spec_store_bypass_disable', 'is not set'))] if arch == 'ARM64': l += [OR(CmdlineCheck('self_protection', 'defconfig', 'rodata', 'full'), AND(KconfigCheck('self_protection', 'defconfig', 'RODATA_FULL_DEFAULT_ENABLED', 'y'), @@ -950,6 +952,9 @@ def normalize_cmdline_options(option, value): if option == 'mitigations': # See mitigations_parse_cmdline() in linux/kernel/cpu.c return value + if option == 'spec_store_bypass_disable': + # See ssb_parse_cmdline() in arch/x86/kernel/cpu/bugs.c + return value # Implement a limited part of the kstrtobool() logic if value in ('1', 'on', 'On', 'ON', 'y', 'Y', 'yes', 'Yes', 'YES'):