Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
kernel-hardening-checker
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fact-depend
kernel-hardening-checker
Commits
20e00402
Commit
20e00402
authored
Mar 06, 2023
by
Alexander Popov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor normalize_cmdline_options() for better style and test coverage
parent
e84011fd
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
39 deletions
+19
-39
checks.py
kconfig_hardened_check/checks.py
+19
-39
No files found.
kconfig_hardened_check/checks.py
View file @
20e00402
...
@@ -44,7 +44,7 @@ This module contains knowledge for checks.
...
@@ -44,7 +44,7 @@ This module contains knowledge for checks.
# efi=disable_early_pci_dma
# efi=disable_early_pci_dma
# pylint: disable=missing-function-docstring,line-too-long,invalid-name
# pylint: disable=missing-function-docstring,line-too-long,invalid-name
# pylint: disable=too-many-branches,too-many-statements
,too-many-return-statements
# pylint: disable=too-many-branches,too-many-statements
from
.engine
import
KconfigCheck
,
CmdlineCheck
,
VersionCheck
,
OR
,
AND
from
.engine
import
KconfigCheck
,
CmdlineCheck
,
VersionCheck
,
OR
,
AND
...
@@ -546,47 +546,27 @@ def add_cmdline_checks(l, arch):
...
@@ -546,47 +546,27 @@ def add_cmdline_checks(l, arch):
l
+=
[
CmdlineCheck
(
'cut_attack_surface'
,
'my'
,
'sysrq_always_enabled'
,
'is not set'
)]
l
+=
[
CmdlineCheck
(
'cut_attack_surface'
,
'my'
,
'sysrq_always_enabled'
,
'is not set'
)]
no_kstrtobool_options
=
[
'debugfs'
,
# See debugfs_kernel() in fs/debugfs/inode.c
'mitigations'
,
# See mitigations_parse_cmdline() in kernel/cpu.c
'pti'
,
# See pti_check_boottime_disable() in arch/x86/mm/pti.c
'spectre_v2'
,
# See spectre_v2_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
'spectre_v2_user'
,
# See spectre_v2_parse_user_cmdline() in arch/x86/kernel/cpu/bugs.c
'spec_store_bypass_disable'
,
# See ssb_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
'l1tf'
,
# See l1tf_cmdline() in arch/x86/kernel/cpu/bugs.c
'mds'
,
# See mds_cmdline() in arch/x86/kernel/cpu/bugs.c
'tsx_async_abort'
,
# See tsx_async_abort_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
'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
'tsx'
# See tsx_init() in arch/x86/kernel/cpu/tsx.c
]
def
normalize_cmdline_options
(
option
,
value
):
def
normalize_cmdline_options
(
option
,
value
):
# Don't normalize the cmdline option values if
# Don't normalize the cmdline option values if
# the Linux kernel doesn't use kstrtobool() for them
# the Linux kernel doesn't use kstrtobool() for them
if
option
==
'debugfs'
:
if
option
in
no_kstrtobool_options
:
# See debugfs_kernel() in fs/debugfs/inode.c
return
value
if
option
==
'mitigations'
:
# See mitigations_parse_cmdline() in kernel/cpu.c
return
value
if
option
==
'pti'
:
# See pti_check_boottime_disable() in arch/x86/mm/pti.c
return
value
if
option
==
'spectre_v2'
:
# See spectre_v2_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
return
value
if
option
==
'spectre_v2_user'
:
# See spectre_v2_parse_user_cmdline() in arch/x86/kernel/cpu/bugs.c
return
value
if
option
==
'spec_store_bypass_disable'
:
# See ssb_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
return
value
if
option
==
'l1tf'
:
# See l1tf_cmdline() in arch/x86/kernel/cpu/bugs.c
return
value
if
option
==
'mds'
:
# See mds_cmdline() in arch/x86/kernel/cpu/bugs.c
return
value
if
option
==
'tsx_async_abort'
:
# See tsx_async_abort_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
return
value
if
option
==
'srbds'
:
# See srbds_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
return
value
if
option
==
'mmio_stale_data'
:
# See mmio_stale_data_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
return
value
if
option
==
'retbleed'
:
# See retbleed_parse_cmdline() in arch/x86/kernel/cpu/bugs.c
return
value
if
option
==
'tsx'
:
# See tsx_init() in arch/x86/kernel/cpu/tsx.c
return
value
return
value
# Implement a limited part of the kstrtobool() logic
# Implement a limited part of the kstrtobool() logic
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment