samples/kprobes: print out the symbol name for the hooks
authorHuang Shijie <shijie.huang@arm.com>
Sat, 21 May 2016 00:04:36 +0000 (17:04 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 21 May 2016 00:58:30 +0000 (17:58 -0700)
Print out the symbol name for the hooks, it makes the logs more
readable.

Link: http://lkml.kernel.org/r/1463535417-29637-2-git-send-email-shijie.huang@arm.com
Signed-off-by: Huang Shijie <shijie.huang@arm.com>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Steve Capper <steve.capper@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
samples/kprobes/kprobe_example.c

index 2bb190d..ed0ca0c 100644 (file)
@@ -27,24 +27,24 @@ static struct kprobe kp = {
 static int handler_pre(struct kprobe *p, struct pt_regs *regs)
 {
 #ifdef CONFIG_X86
-       printk(KERN_INFO "pre_handler: p->addr = 0x%p, ip = %lx,"
+       printk(KERN_INFO "<%s> pre_handler: p->addr = 0x%p, ip = %lx,"
                        " flags = 0x%lx\n",
-               p->addr, regs->ip, regs->flags);
+               p->symbol_name, p->addr, regs->ip, regs->flags);
 #endif
 #ifdef CONFIG_PPC
-       printk(KERN_INFO "pre_handler: p->addr = 0x%p, nip = 0x%lx,"
+       printk(KERN_INFO "<%s> pre_handler: p->addr = 0x%p, nip = 0x%lx,"
                        " msr = 0x%lx\n",
-               p->addr, regs->nip, regs->msr);
+               p->symbol_name, p->addr, regs->nip, regs->msr);
 #endif
 #ifdef CONFIG_MIPS
-       printk(KERN_INFO "pre_handler: p->addr = 0x%p, epc = 0x%lx,"
+       printk(KERN_INFO "<%s> pre_handler: p->addr = 0x%p, epc = 0x%lx,"
                        " status = 0x%lx\n",
-               p->addr, regs->cp0_epc, regs->cp0_status);
+               p->symbol_name, p->addr, regs->cp0_epc, regs->cp0_status);
 #endif
 #ifdef CONFIG_TILEGX
-       printk(KERN_INFO "pre_handler: p->addr = 0x%p, pc = 0x%lx,"
+       printk(KERN_INFO "<%s> pre_handler: p->addr = 0x%p, pc = 0x%lx,"
                        " ex1 = 0x%lx\n",
-               p->addr, regs->pc, regs->ex1);
+               p->symbol_name, p->addr, regs->pc, regs->ex1);
 #endif
 
        /* A dump_stack() here will give a stack backtrace */
@@ -56,20 +56,20 @@ static void handler_post(struct kprobe *p, struct pt_regs *regs,
                                unsigned long flags)
 {
 #ifdef CONFIG_X86
-       printk(KERN_INFO "post_handler: p->addr = 0x%p, flags = 0x%lx\n",
-               p->addr, regs->flags);
+       printk(KERN_INFO "<%s> post_handler: p->addr = 0x%p, flags = 0x%lx\n",
+               p->symbol_name, p->addr, regs->flags);
 #endif
 #ifdef CONFIG_PPC
-       printk(KERN_INFO "post_handler: p->addr = 0x%p, msr = 0x%lx\n",
-               p->addr, regs->msr);
+       printk(KERN_INFO "<%s> post_handler: p->addr = 0x%p, msr = 0x%lx\n",
+               p->symbol_name, p->addr, regs->msr);
 #endif
 #ifdef CONFIG_MIPS
-       printk(KERN_INFO "post_handler: p->addr = 0x%p, status = 0x%lx\n",
-               p->addr, regs->cp0_status);
+       printk(KERN_INFO "<%s> post_handler: p->addr = 0x%p, status = 0x%lx\n",
+               p->symbol_name, p->addr, regs->cp0_status);
 #endif
 #ifdef CONFIG_TILEGX
-       printk(KERN_INFO "post_handler: p->addr = 0x%p, ex1 = 0x%lx\n",
-               p->addr, regs->ex1);
+       printk(KERN_INFO "<%s> post_handler: p->addr = 0x%p, ex1 = 0x%lx\n",
+               p->symbol_name, p->addr, regs->ex1);
 #endif
 }