Message ID | 1439254364-15362-8-git-send-email-dave.long@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11 August 2015 at 01:52, David Long <dave.long@linaro.org> wrote: > From: Sandeepa Prabhu <sandeepa.s.prabhu@gmail.com> > > Add info prints in sample kprobe handlers for ARM64 > > Signed-off-by: Sandeepa Prabhu <sandeepa.s.prabhu@gmail.com> > --- > samples/kprobes/kprobe_example.c | 8 ++++++++ > 1 file changed, 8 insertions(+) I'm not going through this series backwards, but I did run the kprobe sample modules first, and nothing happened... (i.e. nothing fired). The kernel usage of do_fork (which is used as an example by the sample code) has been changed by: 3033f14a clone: support passing tls argument via C rather than pt_regs magic Now everything appears to go through _do_fork rather than do_fork. I'll send a fixup shortly, but if anyone else is running these modules and worrying about a lack of events... worry less :-). Cheers, -- Steve
diff --git a/samples/kprobes/kprobe_example.c b/samples/kprobes/kprobe_example.c index 366db1a..51d459c 100644 --- a/samples/kprobes/kprobe_example.c +++ b/samples/kprobes/kprobe_example.c @@ -42,6 +42,10 @@ static int handler_pre(struct kprobe *p, struct pt_regs *regs) " ex1 = 0x%lx\n", p->addr, regs->pc, regs->ex1); #endif +#ifdef CONFIG_ARM64 + pr_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 +71,10 @@ 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_ARM64 + pr_info("post_handler: p->addr = 0x%p, pc = 0x%lx\n", + p->addr, (long)regs->pc); +#endif } /*