diff options
Diffstat (limited to 'samples')
| -rw-r--r-- | samples/kprobes/kprobe_example.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/samples/kprobes/kprobe_example.c b/samples/kprobes/kprobe_example.c index ed0ca0c07242..f3b61b4ee09c 100644 --- a/samples/kprobes/kprobe_example.c +++ b/samples/kprobes/kprobe_example.c | |||
| @@ -46,6 +46,11 @@ static int handler_pre(struct kprobe *p, struct pt_regs *regs) | |||
| 46 | " ex1 = 0x%lx\n", | 46 | " ex1 = 0x%lx\n", |
| 47 | p->symbol_name, p->addr, regs->pc, regs->ex1); | 47 | p->symbol_name, p->addr, regs->pc, regs->ex1); |
| 48 | #endif | 48 | #endif |
| 49 | #ifdef CONFIG_ARM64 | ||
| 50 | pr_info("<%s> pre_handler: p->addr = 0x%p, pc = 0x%lx," | ||
| 51 | " pstate = 0x%lx\n", | ||
| 52 | p->symbol_name, p->addr, (long)regs->pc, (long)regs->pstate); | ||
| 53 | #endif | ||
| 49 | 54 | ||
| 50 | /* A dump_stack() here will give a stack backtrace */ | 55 | /* A dump_stack() here will give a stack backtrace */ |
| 51 | return 0; | 56 | return 0; |
| @@ -71,6 +76,10 @@ static void handler_post(struct kprobe *p, struct pt_regs *regs, | |||
| 71 | printk(KERN_INFO "<%s> post_handler: p->addr = 0x%p, ex1 = 0x%lx\n", | 76 | printk(KERN_INFO "<%s> post_handler: p->addr = 0x%p, ex1 = 0x%lx\n", |
| 72 | p->symbol_name, p->addr, regs->ex1); | 77 | p->symbol_name, p->addr, regs->ex1); |
| 73 | #endif | 78 | #endif |
| 79 | #ifdef CONFIG_ARM64 | ||
| 80 | pr_info("<%s> post_handler: p->addr = 0x%p, pstate = 0x%lx\n", | ||
| 81 | p->symbol_name, p->addr, (long)regs->pstate); | ||
| 82 | #endif | ||
| 74 | } | 83 | } |
| 75 | 84 | ||
| 76 | /* | 85 | /* |
