X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=kconfig_hardened_check%2F__init__.py;h=4dc9fe721058df14ccdd050b308387714dcb43eb;hb=d361925ba8e7c1f712615e12d4eff678f1f4d59b;hp=a926402426c3eba4ba100a9fb0f17b4a81d4bcfa;hpb=3f57717b4ec311b04fbc658616f835f1f3abbf51;p=kconfig-hardened-check.git diff --git a/kconfig_hardened_check/__init__.py b/kconfig_hardened_check/__init__.py index a926402..4dc9fe7 100644 --- a/kconfig_hardened_check/__init__.py +++ b/kconfig_hardened_check/__init__.py @@ -17,7 +17,6 @@ # Аrch-independent: # X86: # l1d_flush=on (a part of the l1tf option) -# mds=full,nosmt # tsx=off # ARM64: # kpti=on @@ -741,6 +740,16 @@ def add_cmdline_checks(l, arch): 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'))] + l += [OR(CmdlineCheck('self_protection', 'defconfig', 'mds', 'is not off'), + CmdlineCheck('self_protection', 'defconfig', 'mds', 'is not set'))] + l += [OR(CmdlineCheck('self_protection', 'defconfig', 'tsx_async_abort', 'is not off'), + CmdlineCheck('self_protection', 'defconfig', 'tsx_async_abort', 'is not set'))] + l += [OR(CmdlineCheck('self_protection', 'defconfig', 'srbds', 'is not off'), + CmdlineCheck('self_protection', 'defconfig', 'srbds', 'is not set'))] + l += [OR(CmdlineCheck('self_protection', 'defconfig', 'mmio_stale_data', 'is not off'), + CmdlineCheck('self_protection', 'defconfig', 'mmio_stale_data', 'is not set'))] + l += [OR(CmdlineCheck('self_protection', 'defconfig', 'retbleed', 'is not off'), + CmdlineCheck('self_protection', 'defconfig', 'retbleed', 'is not set'))] if arch == 'ARM64': l += [OR(CmdlineCheck('self_protection', 'defconfig', 'rodata', 'full'), AND(KconfigCheck('self_protection', 'defconfig', 'RODATA_FULL_DEFAULT_ENABLED', 'y'), @@ -964,6 +973,21 @@ def normalize_cmdline_options(option, value): if option == 'l1tf': # See l1tf_cmdline() in arch/x86/kernel/cpu/bugs.c return value + if option == 'mds': + # See mds_cmdline() in arch/x86/kernel/cpu/bugs.c + return value + if option == 'tsx_async_abort': + # See tsx_async_abort_parse_cmdline() in arch/x86/kernel/cpu/bugs.c + return value + if option == 'srbds': + # See srbds_parse_cmdline() in arch/x86/kernel/cpu/bugs.c + return value + if option == 'mmio_stale_data': + # See mmio_stale_data_parse_cmdline() in arch/x86/kernel/cpu/bugs.c + return value + if option == 'retbleed': + # See retbleed_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'):