projects
/
kconfig-hardened-check.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
2b5bf35
)
Add hardware tag-based KASAN with arm64 Memory Tagging Extension
author
Alexander Popov
<alex.popov@linux.com>
Sat, 14 Aug 2021 07:10:13 +0000
(10:10 +0300)
committer
Alexander Popov
<alex.popov@linux.com>
Sat, 14 Aug 2021 07:10:13 +0000
(10:10 +0300)
kconfig_hardened_check/__init__.py
patch
|
blob
|
history
diff --git
a/kconfig_hardened_check/__init__.py
b/kconfig_hardened_check/__init__.py
index e0f2e010750026204ad512852ccffcbe848e3792..362a6e4dd4ac9408bd9b404211821be86c8e601d 100644
(file)
--- a/
kconfig_hardened_check/__init__.py
+++ b/
kconfig_hardened_check/__init__.py
@@
-39,6
+39,11
@@
# arm64.nobti
# arm64.nopauth
#
# arm64.nobti
# arm64.nopauth
#
+# Hardware tag-based KASAN with arm64 Memory Tagging Extension (MTE):
+# kasan=on
+# kasan.stacktrace=off
+# kasan.fault=panic
+#
# N.B. Hardening sysctls:
# kernel.kptr_restrict=2 (or 1?)
# kernel.dmesg_restrict=1 (also see the kconfig option)
# N.B. Hardening sysctls:
# kernel.kptr_restrict=2 (or 1?)
# kernel.dmesg_restrict=1 (also see the kconfig option)
@@
-329,6
+334,7
@@
def construct_checklist(l, arch):
l += [OptCheck('self_protection', 'defconfig', 'ARM64_BTI_KERNEL', 'y')]
l += [OR(OptCheck('self_protection', 'defconfig', 'HARDEN_BRANCH_PREDICTOR', 'y'),
VerCheck((5, 10)))] # HARDEN_BRANCH_PREDICTOR is enabled by default since v5.10
l += [OptCheck('self_protection', 'defconfig', 'ARM64_BTI_KERNEL', 'y')]
l += [OR(OptCheck('self_protection', 'defconfig', 'HARDEN_BRANCH_PREDICTOR', 'y'),
VerCheck((5, 10)))] # HARDEN_BRANCH_PREDICTOR is enabled by default since v5.10
+ l += [OptCheck('self_protection', 'defconfig', 'ARM64_MTE', 'y')]
if arch == 'ARM':
l += [OptCheck('self_protection', 'defconfig', 'CPU_SW_DOMAIN_PAN', 'y')]
l += [OptCheck('self_protection', 'defconfig', 'HARDEN_BRANCH_PREDICTOR', 'y')]
if arch == 'ARM':
l += [OptCheck('self_protection', 'defconfig', 'CPU_SW_DOMAIN_PAN', 'y')]
l += [OptCheck('self_protection', 'defconfig', 'HARDEN_BRANCH_PREDICTOR', 'y')]
@@
-420,6
+426,7
@@
def construct_checklist(l, arch):
iommu_support_is_set)]
if arch == 'ARM64':
l += [OptCheck('self_protection', 'my', 'SHADOW_CALL_STACK', 'y')] # depends on clang, maybe it's alternative to STACKPROTECTOR_STRONG
iommu_support_is_set)]
if arch == 'ARM64':
l += [OptCheck('self_protection', 'my', 'SHADOW_CALL_STACK', 'y')] # depends on clang, maybe it's alternative to STACKPROTECTOR_STRONG
+ l += [OptCheck('self_protection', 'my', 'KASAN_HW_TAGS', 'y')]
# 'security_policy'
if arch in ('X86_64', 'ARM64', 'X86_32'):
# 'security_policy'
if arch in ('X86_64', 'ARM64', 'X86_32'):