Message ID | cover.1583741997.git.zong.li@sifive.com (mailing list archive) |
---|---|
Headers | show |
Series | Support strict kernel memory permissions for security | expand |
Zong Li <zong.li@sifive.com> 於 2020年3月9日 週一 下午4:22寫道: > > 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. > > Changes in v2: > - Use _data to specify the start of data section with write permission. > - Change ftrace patch text implementaion. > - Separate DEBUG_WX patch to another patchset. > > Zong Li (9): > 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 macro to get instruction length > riscv: introduce interfaces to patch kernel code > riscv: patch code by fixmap mapping > > arch/riscv/Kconfig | 6 + > arch/riscv/include/asm/bug.h | 8 ++ > arch/riscv/include/asm/fixmap.h | 2 + > arch/riscv/include/asm/patch.h | 12 ++ > arch/riscv/include/asm/set_memory.h | 41 ++++++ > arch/riscv/kernel/Makefile | 4 +- > arch/riscv/kernel/ftrace.c | 13 +- > arch/riscv/kernel/patch.c | 124 ++++++++++++++++++ > arch/riscv/kernel/traps.c | 3 +- > arch/riscv/kernel/vmlinux.lds.S | 11 +- > arch/riscv/mm/Makefile | 1 + > arch/riscv/mm/init.c | 45 +++++++ > arch/riscv/mm/pageattr.c | 187 ++++++++++++++++++++++++++++ > 13 files changed, 443 insertions(+), 14 deletions(-) > create mode 100644 arch/riscv/include/asm/patch.h > create mode 100644 arch/riscv/include/asm/set_memory.h > create mode 100644 arch/riscv/kernel/patch.c > create mode 100644 arch/riscv/mm/pageattr.c > > -- > 2.25.1 > > The page table dumper support might be considered together, it is useful to check the page table entry permission. Thanks. (Refer: https://lore.kernel.org/patchwork/patch/1191018/)