[PATCH] hardening: Enable KFENCE in the hardening config

From: Marco Elver
Date: Mon Feb 12 2024 - 08:01:47 EST


KFENCE is not a security mitigation mechanism (due to sampling), but has
the performance characteristics of unintrusive hardening techniques.
When used at scale, however, it improves overall security by allowing
kernel developers to detect heap memory-safety bugs cheaply.

Link: https://lkml.kernel.org/r/79B9A832-B3DE-4229-9D87-748B2CFB7D12@xxxxxxxxxx
Cc: Matthieu Baerts <matttbe@xxxxxxxxxx>
Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
Signed-off-by: Marco Elver <elver@xxxxxxxxxx>
---
kernel/configs/hardening.config | 3 +++
1 file changed, 3 insertions(+)

diff --git a/kernel/configs/hardening.config b/kernel/configs/hardening.config
index 95a400f042b1..79c865bfb116 100644
--- a/kernel/configs/hardening.config
+++ b/kernel/configs/hardening.config
@@ -46,6 +46,9 @@ CONFIG_UBSAN_BOUNDS=y
# CONFIG_UBSAN_ALIGNMENT
CONFIG_UBSAN_SANITIZE_ALL=y

+# Sampling-based heap out-of-bounds and use-after-free detection.
+CONFIG_KFENCE=y
+
# Linked list integrity checking.
CONFIG_LIST_HARDENED=y

--
2.43.0.687.g38aa6559b0-goog