Messages in this thread | | | From | Huacai Chen <> | Date | Fri, 13 Jan 2023 14:44:25 +0800 | Subject | Re: [PATCH 0/4] LoongArch: Add kernel relocation and KASLR support |
| |
Hi, Ruoyao and Jinyang,
Could you please take some time to review this patchset?
Huacai
On Mon, Jan 9, 2023 at 5:08 PM Youling Tang <tangyouling@loongson.cn> wrote: > > This patch series to support kernel relocation and KASLR (only 64bit). > > Both old[1] and new[2] toolchains support this feature, and the test results > are as follows: > 1) Enable CONFING_RELOCATABLE > # cat /proc/iomem > 00000000-0fffffff : System RAM > 00000000-002c3fff : Reserved > 002c4000-008c3fff : Reserved > 02000000-02f4ffff : Kernel code > 02f50000-0381cbff : Kernel data > 0381cc00-0394ae37 : Kernel bss > > 2) Enable CONFING_RANDOMIZE_BASE (KASLR) > first: > # cat /proc/iomem > 00000000-0fffffff : System RAM > 00000000-002c3fff : Reserved > 002c4000-008c3fff : Reserved > 02550000-0349ffff : Kernel code > 034a0000-03d6cbff : Kernel data > 03d6cc00-03e9ae37 : Kernel bss > > second: > # cat /proc/iomem > 00000000-0fffffff : System RAM > 00000000-002c3fff : Reserved > 002c4000-008c3fff : Reserved > 02ad0000-03a1ffff : Kernel code > 03a20000-042ecbff : Kernel data > 042ecc00-0441ae37 : Kernel bss > > Thanks to @Ruoyao's and @Jinyang's for their help and suggestions. > > Links: > [1]: https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases/download/5.0/loongarch64-clfs-5.1-cross-tools-c-only.tar.xz > [2]: https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases/download/6.0/loongarch64-clfs-6.3-cross-tools-c-only.tar.xz > > Xi Ruoyao (1): > LoongArch: Use trampoline for exception handlers and kill la.abs > > Youling Tang (3): > LoongArch: Add JUMP_LINK_ADDR macro implementation to avoid using > la.abs > LoongArch: Add support for kernel relocation > LoongArch: Add support for kernel address space layout randomization > (KASLR) > > arch/loongarch/Kconfig | 37 +++++ > arch/loongarch/Makefile | 5 + > arch/loongarch/include/asm/page.h | 6 + > arch/loongarch/include/asm/stackframe.h | 16 +- > arch/loongarch/include/asm/uaccess.h | 1 - > arch/loongarch/kernel/Makefile | 2 + > arch/loongarch/kernel/entry.S | 6 +- > arch/loongarch/kernel/genex.S | 20 +-- > arch/loongarch/kernel/head.S | 30 +++- > arch/loongarch/kernel/relocate.c | 210 ++++++++++++++++++++++++ > arch/loongarch/kernel/setup.c | 3 + > arch/loongarch/kernel/traps.c | 4 +- > arch/loongarch/kernel/vmlinux.lds.S | 11 +- > arch/loongarch/mm/tlbex.S | 28 +--- > arch/loongarch/power/suspend_asm.S | 5 +- > 15 files changed, 333 insertions(+), 51 deletions(-) > create mode 100644 arch/loongarch/kernel/relocate.c > > -- > 2.37.1 >
| |