Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[muen/linux.git] / kernel / trace / trace_uprobe.c
index 0d450b40988edbb1184dd270537a9162ddf58336..34fd0e0ec51d2a49c27d082f363be11276d7d753 100644 (file)
@@ -448,7 +448,7 @@ static int create_trace_uprobe(int argc, char **argv)
        if (ret)
                goto fail_address_parse;
 
-       inode = igrab(d_inode(path.dentry));
+       inode = igrab(d_real_inode(path.dentry));
        path_put(&path);
 
        if (!inode || !S_ISREG(inode->i_mode)) {
@@ -604,24 +604,9 @@ static int probes_seq_show(struct seq_file *m, void *v)
        char c = is_ret_probe(tu) ? 'r' : 'p';
        int i;
 
-       seq_printf(m, "%c:%s/%s", c, tu->tp.call.class->system,
-                       trace_event_name(&tu->tp.call));
-       seq_printf(m, " %s:", tu->filename);
-
-       /* Don't print "0x  (null)" when offset is 0 */
-       if (tu->offset) {
-               seq_printf(m, "0x%px", (void *)tu->offset);
-       } else {
-               switch (sizeof(void *)) {
-               case 4:
-                       seq_printf(m, "0x00000000");
-                       break;
-               case 8:
-               default:
-                       seq_printf(m, "0x0000000000000000");
-                       break;
-               }
-       }
+       seq_printf(m, "%c:%s/%s %s:0x%0*lx", c, tu->tp.call.class->system,
+                       trace_event_name(&tu->tp.call), tu->filename,
+                       (int)(sizeof(void *) * 2), tu->offset);
 
        for (i = 0; i < tu->tp.nr_args; i++)
                seq_printf(m, " %s=%s", tu->tp.args[i].name, tu->tp.args[i].comm);