Add the 'nospectre_v2' check
[kconfig-hardened-check.git] / kconfig_hardened_check / __init__.py
index 218e8fd7d8504ca08aa664edf8994a1e4a05e7e3..1d74ee55d26c68f7427419812e67bf19711e9358 100644 (file)
@@ -698,6 +698,10 @@ def add_cmdline_checks(l, arch):
     # very complex and not give a 100% guarantee anyway.
 
     # 'self_protection', 'defconfig'
+    l += [CmdlineCheck('self_protection', 'defconfig', 'nosmep', 'is not set')]
+    l += [CmdlineCheck('self_protection', 'defconfig', 'nosmap', 'is not set')]
+    l += [CmdlineCheck('self_protection', 'defconfig', 'nospectre_v1', 'is not set')]
+    l += [CmdlineCheck('self_protection', 'defconfig', 'nospectre_v2', 'is not set')]
     if arch == 'ARM64':
         l += [OR(CmdlineCheck('self_protection', 'defconfig', 'rodata', 'full'),
                  AND(KconfigCheck('self_protection', 'defconfig', 'RODATA_FULL_DEFAULT_ENABLED', 'y'),
@@ -732,20 +736,18 @@ def add_cmdline_checks(l, arch):
                  CmdlineCheck('self_protection', 'kspp', 'hardened_usercopy', 'is not set')))]
     l += [OR(CmdlineCheck('self_protection', 'kspp', 'slab_common.usercopy_fallback', '0'),
              AND(KconfigCheck('self_protection', 'kspp', 'HARDENED_USERCOPY_FALLBACK', 'is not set'),
-                 CmdlineCheck('self_protection', 'kspp', 'slab_common.usercopy_fallback', 'is not set')))] # ... the end
+                 CmdlineCheck('self_protection', 'kspp', 'slab_common.usercopy_fallback', 'is not set')))]
+    if arch in ('X86_64', 'X86_32'):
+        l += [AND(CmdlineCheck('self_protection', 'kspp', 'pti', 'on'),
+                  CmdlineCheck('self_protection', 'kspp', 'nopti', 'is not set'))] # ... the end
     if arch in ('X86_64', 'ARM64', 'X86_32'):
         l += [OR(CmdlineCheck('self_protection', 'kspp', 'randomize_kstack_offset', '1'),
                  AND(KconfigCheck('self_protection', 'kspp', 'RANDOMIZE_KSTACK_OFFSET_DEFAULT', 'y'),
                      CmdlineCheck('self_protection', 'kspp', 'randomize_kstack_offset', 'is not set')))]
-    if arch in ('X86_64', 'X86_32'):
-        l += [CmdlineCheck('self_protection', 'kspp', 'pti', 'on')]
 
     # 'self_protection', 'clipos'
     l += [CmdlineCheck('self_protection', 'clipos', 'page_alloc.shuffle', '1')]
 
-    # 'self_protection', 'my'
-    l += [CmdlineCheck('self_protection', 'my', 'nosmep', 'is not set')]
-    l += [CmdlineCheck('self_protection', 'my', 'nosmap', 'is not set')]
 
     # 'cut_attack_surface', 'kspp'
     if arch == 'X86_64':