Re: [PATCH 0/2] Add support to dump the kernel page tables
From: Huacai Chen
Date: Fri Jul 10 2026 - 08:56:32 EST
Hi, Haoran,
On Tue, Jul 7, 2026 at 2:47 PM <haoran.jiang@xxxxxxxxx> wrote:
>
> From: Haoran Jiang <jianghaoran@xxxxxxxxxx>
>
> Enforce the W^X principle on page tables,
> and also support the kernel page dump feature.
>
> The following tests were performed:
>
> kdb:
> echo kgdbts=V1 > /sys/module/kgdbts/parameters/kgdbts
>
> ebpf:
> ./test_progs -t struct_ops -d struct_ops_multi_pages
> ./test_progs -t fexit_stress
> ./test_progs -t module_fentry_shadow
> ./test_progs -t fentry_test/fentry
> ./test_progs -t fexit_test/fexit
> ./test_progs -t modify_return
> ./test_progs -t fexit_sleep
> ./test_progs -t test_overhead
> ./test_progs -t trampoline_count
> ./test_progs -t kprobe
> ./test_progs -t uprobe
>
> livepatch:
> insmod samples/livepatch/livepatch_sample.ko
>
> kprobe:
> insmod samples/kprobes/kprobe_example.ko
> insmod samples/kprobes/kretprobe_example.ko
>
> unxibench:
> before this patch:
> running 1 parallel copy of tests: 1492
> running 128 parallel copies of tests: 8765
>
> after this patch:
> running 1 parallel copy of tests: 1440
> running 128 parallel copies of tests: 8749
>
I hope you have verified ftrace, kprobes, jump label, kgdb, etc. on
modules, not only on the kernel itself. Otherwise the tests are not
enough.
@Tiezhu, you are familiar with all the above mechanisms, so please
help to review, and double check whether uprobes need to be modified.
Huacai
>
> Haoran Jiang (2):
> LoongArch: Enforce W^X for page-mapped virtual memory region
> LoongArch: Add support to dump the kernel page tables
>
> arch/loongarch/Kconfig | 2 +
> arch/loongarch/include/asm/pgtable-bits.h | 12 +-
> arch/loongarch/kernel/ftrace_dyn.c | 16 +
> arch/loongarch/kernel/inst.c | 25 +-
> arch/loongarch/kernel/jump_label.c | 3 +
> arch/loongarch/kernel/kgdb.c | 50 +++
> arch/loongarch/kernel/kprobes.c | 4 +-
> arch/loongarch/mm/Makefile | 1 +
> arch/loongarch/mm/ptdump.c | 474 ++++++++++++++++++++++
> 9 files changed, 575 insertions(+), 12 deletions(-)
> create mode 100644 arch/loongarch/mm/ptdump.c
>
> --
> 2.43.0
>