2024-02-12 13:14:21

by Marco Elver

[permalink] [raw]
Subject: [PATCH] hardening: Enable KFENCE in the hardening config

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/[email protected]
Cc: Matthieu Baerts <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Signed-off-by: Marco Elver <[email protected]>
---
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



2024-02-12 14:13:53

by Matthieu Baerts (NGI0)

[permalink] [raw]
Subject: Re: [PATCH] hardening: Enable KFENCE in the hardening config

Hi Marco,

On 12/02/2024 14:01, Marco Elver wrote:
> 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.

Thank you for having sent this patch!

Cheers,
Matt
--
Sponsored by the NGI0 Core fund.

2024-02-12 19:05:24

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] hardening: Enable KFENCE in the hardening config

On Mon, Feb 12, 2024 at 02:01:09PM +0100, Marco Elver wrote:
> 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/[email protected]
> Cc: Matthieu Baerts <[email protected]>
> Cc: Jakub Kicinski <[email protected]>
> Signed-off-by: Marco Elver <[email protected]>

Thanks! Applied to my for-next/hardening tree.

https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?h=for-next/hardening&id=1f82cb2f3859540120e990a79abfee8151ea6b93

-Kees

--
Kees Cook