summaryrefslogtreecommitdiffstats
path: root/arch/loongarch/mm
diff options
context:
space:
mode:
authorTiezhu Yang <yangtiezhu@loongson.cn>2023-02-25 15:52:57 +0800
committerHuacai Chen <chenhuacai@loongson.cn>2023-02-25 22:12:17 +0800
commit6d4cc40fb5f58147defc6c0e9d86e6232fe31616 (patch)
tree71f244b9bce629eb133a0cb8d90c08f2cdd9e98f /arch/loongarch/mm
parent9b3441a6b0e1ed4796e7f5a8586c4d6023c4e3ab (diff)
downloadlinux-stable-6d4cc40fb5f58147defc6c0e9d86e6232fe31616.tar.gz
linux-stable-6d4cc40fb5f58147defc6c0e9d86e6232fe31616.tar.bz2
linux-stable-6d4cc40fb5f58147defc6c0e9d86e6232fe31616.zip
LoongArch: Add kprobes support
Kprobes allows you to trap at almost any kernel address and execute a callback function, this commit adds kprobes support for LoongArch. Tested-by: Jeff Xie <xiehuan09@gmail.com> Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Diffstat (limited to 'arch/loongarch/mm')
-rw-r--r--arch/loongarch/mm/fault.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/loongarch/mm/fault.c b/arch/loongarch/mm/fault.c
index 1ccd53655cab..449087bd589d 100644
--- a/arch/loongarch/mm/fault.c
+++ b/arch/loongarch/mm/fault.c
@@ -135,6 +135,9 @@ static void __kprobes __do_page_fault(struct pt_regs *regs,
struct vm_area_struct *vma = NULL;
vm_fault_t fault;
+ if (kprobe_page_fault(regs, current->thread.trap_nr))
+ return;
+
/*
* We fault-in kernel-space virtual memory on-demand. The
* 'reference' page table is init_mm.pgd.