if arch in ('X86_64', 'ARM64'):
l += [KconfigCheck('self_protection', 'defconfig', 'VMAP_STACK', 'y')]
if arch in ('X86_64', 'X86_32'):
+ l += [KconfigCheck('self_protection', 'defconfig', 'X86_MCE', 'y')]
+ l += [KconfigCheck('self_protection', 'defconfig', 'X86_MCE_INTEL', 'y')]
+ l += [KconfigCheck('self_protection', 'defconfig', 'X86_MCE_AMD', 'y')]
l += [KconfigCheck('self_protection', 'defconfig', 'MICROCODE', 'y')] # is needed for mitigating CPU bugs
l += [KconfigCheck('self_protection', 'defconfig', 'RETPOLINE', 'y')]
l += [OR(KconfigCheck('self_protection', 'defconfig', 'X86_SMAP', 'y'),
# 'self_protection', 'clipos'
l += [CmdlineCheck('self_protection', 'clipos', 'page_alloc.shuffle', '1')]
if arch in ('X86_64', 'X86_32'):
- l += [CmdlineCheck('self_protection', 'clipos', 'spectre_v2', 'on')]
+ l += [AND(CmdlineCheck('self_protection', 'clipos', 'spectre_v2', 'on'),
+ CmdlineCheck('self_protection', 'defconfig', 'nospectre_v2', 'is not set'))]
# 'cut_attack_surface', 'kspp'
if arch == 'X86_64':