- checklist.append(OptCheck('MODULE_SIG_FORCE', 'y', 'kspp', 'self_protection')) # refers to LOCK_DOWN_KERNEL
- checklist.append(OptCheck('DEFAULT_MMAP_MIN_ADDR', '65536', 'kspp', 'self_protection'))
-
- checklist.append(OptCheck('GCC_PLUGIN_STACKLEAK', 'y', 'my', 'self_protection'))
+ checklist.append(OR(OptCheck('MODULE_SIG_FORCE', 'y', 'kspp', 'self_protection'), \
+ modules_not_set)) # refers to LOCK_DOWN_KERNEL
+ if debug_mode or arch == 'X86_64' or arch == 'X86_32':
+ checklist.append(OptCheck('DEFAULT_MMAP_MIN_ADDR', '65536', 'kspp', 'self_protection'))
+ checklist.append(OptCheck('REFCOUNT_FULL', 'y', 'kspp', 'self_protection'))
+ if debug_mode or arch == 'X86_32':
+ checklist.append(OptCheck('HIGHMEM64G', 'y', 'kspp', 'self_protection'))
+ checklist.append(OptCheck('X86_PAE', 'y', 'kspp', 'self_protection'))
+ if debug_mode or arch == 'ARM64':
+ checklist.append(OptCheck('ARM64_SW_TTBR0_PAN', 'y', 'kspp', 'self_protection'))
+ checklist.append(OptCheck('RANDOMIZE_BASE', 'y', 'kspp', 'self_protection'))
+ if debug_mode or arch == 'ARM64' or arch == 'ARM':
+ checklist.append(OptCheck('SYN_COOKIES', 'y', 'kspp', 'self_protection')) # another reason?
+ checklist.append(OptCheck('DEFAULT_MMAP_MIN_ADDR', '32768', 'kspp', 'self_protection'))
+
+ if debug_mode or arch == 'X86_64' or arch == 'ARM64' or arch == 'X86_32':
+ stackleak_is_set = OptCheck('GCC_PLUGIN_STACKLEAK', 'y', 'my', 'self_protection')
+ checklist.append(stackleak_is_set)
+ checklist.append(AND(OptCheck('STACKLEAK_METRICS', 'is not set', 'my', 'self_protection'), \
+ stackleak_is_set))
+ checklist.append(AND(OptCheck('STACKLEAK_RUNTIME_DISABLE','is not set', 'my', 'self_protection'), \
+ stackleak_is_set))
+ checklist.append(OptCheck('LOCK_DOWN_KERNEL', 'y', 'my', 'self_protection')) # remember about LOCK_DOWN_MANDATORY