trace_uprobe: Display correct offset in uprobe_events
authorRavi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Sat, 6 Jan 2018 05:42:46 +0000 (11:12 +0530)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 23 Jan 2018 20:57:29 +0000 (15:57 -0500)
Recently, how the pointers being printed with %p has been changed
by commit ad67b74d2469 ("printk: hash addresses printed with %p").
This is causing a regression while showing offset in the
uprobe_events file. Instead of %p, use %px to display offset.

Before patch:

  # perf probe -vv -x /tmp/a.out main
  Opening /sys/kernel/debug/tracing//uprobe_events write=1
  Writing event: p:probe_a/main /tmp/a.out:0x58c

  # cat /sys/kernel/debug/tracing/uprobe_events
  p:probe_a/main /tmp/a.out:0x0000000049a0f352

After patch:

  # cat /sys/kernel/debug/tracing/uprobe_events
  p:probe_a/main /tmp/a.out:0x000000000000058c

Link: http://lkml.kernel.org/r/20180106054246.15375-1-ravi.bangoria@linux.vnet.ibm.com
Cc: stable@vger.kernel.org
Fixes: ad67b74d2469 ("printk: hash addresses printed with %p")
Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace_uprobe.c

index 40592e7..268029a 100644 (file)
@@ -608,7 +608,7 @@ static int probes_seq_show(struct seq_file *m, void *v)
 
        /* Don't print "0x  (null)" when offset is 0 */
        if (tu->offset) {
-               seq_printf(m, "0x%p", (void *)tu->offset);
+               seq_printf(m, "0x%px", (void *)tu->offset);
        } else {
                switch (sizeof(void *)) {
                case 4: