# 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')]
if arch == 'ARM64':
l += [OR(CmdlineCheck('self_protection', 'defconfig', 'rodata', 'full'),
AND(KconfigCheck('self_protection', 'defconfig', 'RODATA_FULL_DEFAULT_ENABLED', 'y'),
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':