Kees suggested that, 'offset' is unsigned long, not a pointer, thus %lx should be used to print it, not the %px. Also, I don't see any reason to prepend offset with 0s. Replace %px with %lx.
Before patch: # echo "p:probe_a/main /tmp/a.out:0x594" > uprobe_events # cat uprobe_events p:probe_a/main /tmp/a.out:0x0000000000000594 After patch: # echo "p:probe_a/main /tmp/a.out:0x594" > uprobe_events # cat uprobe_events p:probe_a/main /tmp/a.out:0x594 Fixes: 0e4d819d0893 ("trace_uprobe: Display correct offset in uprobe_events") Suggested-by: Kees Cook <keesc...@chromium.org> Signed-off-by: Ravi Bangoria <ravi.bango...@linux.vnet.ibm.com> --- kernel/trace/trace_uprobe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c index 268029ae1be6..c2c965398893 100644 --- a/kernel/trace/trace_uprobe.c +++ b/kernel/trace/trace_uprobe.c @@ -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%px", (void *)tu->offset); + seq_printf(m, "0x%lx", tu->offset); } else { switch (sizeof(void *)) { case 4: -- 2.13.6