[PATCH RFC 6/6] kprobes: Add cases for arm and arm64 in sample module

Sandeepa Prabhu sandeepa.prabhu at linaro.org
Thu Oct 17 07:17:51 EDT 2013


Add info prints in sample kprobe handlers for ARM and ARM64
architecture.

Signed-off-by: Sandeepa Prabhu <sandeepa.prabhu at linaro.org>
---
 samples/kprobes/kprobe_example.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/samples/kprobes/kprobe_example.c b/samples/kprobes/kprobe_example.c
index 366db1a..0521246 100644
--- a/samples/kprobes/kprobe_example.c
+++ b/samples/kprobes/kprobe_example.c
@@ -42,6 +42,14 @@ static int handler_pre(struct kprobe *p, struct pt_regs *regs)
 			" ex1 = 0x%lx\n",
 		p->addr, regs->pc, regs->ex1);
 #endif
+#ifdef CONFIG_ARM
+	printk(KERN_INFO "pre_handler: p->addr = 0x%p, pc = 0x%lx\n",
+			p->addr, regs->ARM_pc);
+#endif
+#ifdef CONFIG_ARM64
+	printk(KERN_INFO "pre_handler: p->addr = 0x%p, pc = 0x%lx\n",
+		p->addr, (long)regs->pc);
+#endif
 
 	/* A dump_stack() here will give a stack backtrace */
 	return 0;
@@ -67,6 +75,14 @@ static void handler_post(struct kprobe *p, struct pt_regs *regs,
 	printk(KERN_INFO "post_handler: p->addr = 0x%p, ex1 = 0x%lx\n",
 		p->addr, regs->ex1);
 #endif
+#ifdef CONFIG_ARM
+	printk(KERN_INFO "post_handler: p->addr = 0x%p, pc = 0x%lx\n",
+			p->addr, regs->ARM_pc);
+#endif
+#ifdef CONFIG_ARM64
+	printk(KERN_INFO "post_handler: p->addr = 0x%p, pc = 0x%lx\n",
+		p->addr, (long)regs->pc);
+#endif
 }
 
 /*
-- 
1.8.1.2




More information about the linux-arm-kernel mailing list