x86, kfence: enable KFENCE for x86 38/281538/1
authorAlexander Potapenko <glider@google.com>
Tue, 3 Nov 2020 17:58:34 +0000 (18:58 +0100)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Tue, 20 Sep 2022 02:41:17 +0000 (11:41 +0900)
commit3992c7ab984555a01127e9ca48962b124436bd3e
tree4e28ddf3970e8e95d80024a30ed61c50c595b8f7
parentc83b114a131cbcd8b38beae81f0edd29e32546cb
x86, kfence: enable KFENCE for x86

Add architecture specific implementation details for KFENCE and enable
KFENCE for the x86 architecture. In particular, this implements the
required interface in <asm/kfence.h> for setting up the pool and
providing helper functions for protecting and unprotecting pages.

For x86, we need to ensure that the pool uses 4K pages, which is done
using the set_memory_4k() helper function.

Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Co-developed-by: Marco Elver <elver@google.com>
Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Reviewed-by: Jann Horn <jannh@google.com>
[port kfence feature to rpi-5.10.95]
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Idfebe6e03d9bda5de4bd6d0084f65bd0feda8d8a
arch/x86/Kconfig
arch/x86/include/asm/kfence.h [new file with mode: 0644]
arch/x86/mm/fault.c