[PATCH 0/8] Support strict kernel memory permissions for security

From: Zong Li
Date: Mon Feb 17 2020 - 03:32:31 EST


The main purpose of this patch series is changing the kernel mapping permission
, make sure that code is not writeable, data is not executable, and read-only
data is neither writable nor executable.

This patch series also supports the relevant implementations such as
ARCH_HAS_SET_MEMORY, ARCH_HAS_SET_DIRECT_MAP,
ARCH_SUPPORTS_DEBUG_PAGEALLOC and DEBUG_WX.

Zong Li (8):
riscv: add ARCH_HAS_SET_MEMORY support
riscv: add ARCH_HAS_SET_DIRECT_MAP support
riscv: add ARCH_SUPPORTS_DEBUG_PAGEALLOC support
riscv: move exception table immediately after RO_DATA
riscv: add alignment for text, rodata and data sections
riscv: add STRICT_KERNEL_RWX support
riscv: add DEBUG_WX support
riscv: add two hook functions of ftrace

arch/riscv/Kconfig | 6 +
arch/riscv/Kconfig.debug | 30 +++++
arch/riscv/include/asm/ptdump.h | 6 +
arch/riscv/include/asm/set_memory.h | 41 ++++++
arch/riscv/kernel/ftrace.c | 18 +++
arch/riscv/kernel/vmlinux.lds.S | 12 +-
arch/riscv/mm/Makefile | 1 +
arch/riscv/mm/init.c | 47 +++++++
arch/riscv/mm/pageattr.c | 187 ++++++++++++++++++++++++++++
9 files changed, 344 insertions(+), 4 deletions(-)
create mode 100644 arch/riscv/include/asm/set_memory.h
create mode 100644 arch/riscv/mm/pageattr.c

--
2.25.0