#!/usr/bin/python3
"""
-This tool helps me to check Linux kernel options against
-my security hardening preferences for X86_64, ARM64, X86_32, and ARM.
-Let the computers do their job!
+This tool is for checking the security hardening options of the Linux kernel.
Author: Alexander Popov <alex.popov@linux.com>
AND(KconfigCheck('self_protection', 'defconfig', 'RODATA_FULL_DEFAULT_ENABLED', 'y'),
CmdlineCheck('self_protection', 'defconfig', 'rodata', 'is not set')))]
else:
- l += [OR(CmdlineCheck('self_protection', 'defconfig', 'rodata', '1'),
+ l += [OR(CmdlineCheck('self_protection', 'defconfig', 'rodata', 'on'),
CmdlineCheck('self_protection', 'defconfig', 'rodata', 'is not set'))]
# 'self_protection', 'kspp'
'srbds', # See srbds_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
'mmio_stale_data', # See mmio_stale_data_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
'retbleed', # See retbleed_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
+ 'rodata', # See set_debug_rodata() in init/main.c
+ 'ssbd', # See parse_spectre_v4_param() in arch/arm64/kernel/proton-pack.c
+ 'slub_debug', # See setup_slub_debug() in mm/slub.c
+ 'iommu', # See iommu_setup() in arch/x86/kernel/pci-dma.c
+ 'vsyscall', # See vsyscall_setup() in arch/x86/entry/vsyscall/vsyscall_64.c
+ 'vdso32', # See vdso32_setup() in arch/x86/entry/vdso/vdso32-setup.c
+ 'vdso', # See vdso32_setup() in arch/x86/entry/vdso/vdso32-setup.c
'tsx' # See tsx_init() in arch/x86/kernel/cpu/tsx.c
]