X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=kconfig_hardened_check%2F__init__.py;h=a926402426c3eba4ba100a9fb0f17b4a81d4bcfa;hb=3f57717b4ec311b04fbc658616f835f1f3abbf51;hp=7333e617d1c9e2d0119c73a65e8224197c15f3da;hpb=b8dde107bdad92fcabeecc7894ca2876bb6d8217;p=kconfig-hardened-check.git diff --git a/kconfig_hardened_check/__init__.py b/kconfig_hardened_check/__init__.py index 7333e61..a926402 100644 --- a/kconfig_hardened_check/__init__.py +++ b/kconfig_hardened_check/__init__.py @@ -16,7 +16,6 @@ # Mitigations of CPU vulnerabilities: # Аrch-independent: # X86: -# l1tf=full,force # l1d_flush=on (a part of the l1tf option) # mds=full,nosmt # tsx=off @@ -736,8 +735,12 @@ def add_cmdline_checks(l, arch): 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', 'spectre_v2_user', 'is not off'), + CmdlineCheck('self_protection', 'defconfig', 'spectre_v2_user', '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'))] + l += [OR(CmdlineCheck('self_protection', 'defconfig', 'l1tf', 'is not off'), + CmdlineCheck('self_protection', 'defconfig', 'l1tf', 'is not set'))] if arch == 'ARM64': l += [OR(CmdlineCheck('self_protection', 'defconfig', 'rodata', 'full'), AND(KconfigCheck('self_protection', 'defconfig', 'RODATA_FULL_DEFAULT_ENABLED', 'y'), @@ -940,21 +943,27 @@ def parse_kconfig_file(parsed_options, fname): def normalize_cmdline_options(option, value): # Don't normalize the cmdline option values if # the Linux kernel doesn't use kstrtobool() for them - if option == 'pti': - # See pti_check_boottime_disable() in linux/arch/x86/mm/pti.c - return value - if option == 'spectre_v2': - # See spectre_v2_parse_cmdline() in linux/arch/x86/kernel/cpu/bugs.c - return value if option == 'debugfs': # See debugfs_kernel() in fs/debugfs/inode.c return value if option == 'mitigations': - # See mitigations_parse_cmdline() in linux/kernel/cpu.c + # See mitigations_parse_cmdline() in kernel/cpu.c + return value + if option == 'pti': + # See pti_check_boottime_disable() in arch/x86/mm/pti.c + return value + if option == 'spectre_v2': + # See spectre_v2_parse_cmdline() in arch/x86/kernel/cpu/bugs.c + return value + if option == 'spectre_v2_user': + # See spectre_v2_parse_user_cmdline() in arch/x86/kernel/cpu/bugs.c return value if option == 'spec_store_bypass_disable': # See ssb_parse_cmdline() in arch/x86/kernel/cpu/bugs.c return value + if option == 'l1tf': + # See l1tf_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'):