Re: [PATCH] trace_uprobe: Display correct offset in uprobe_events

From: Ravi Bangoria
Date: Mon Jan 08 2018 - 01:30:02 EST




On 01/08/2018 10:49 AM, Srikar Dronamraju wrote:
> * Ravi Bangoria <ravi.bangoria@xxxxxxxxxxxxxxxxxx> [2018-01-06 11:12:46]:
>
>> 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.
>>
>> Signed-off-by: Ravi Bangoria <ravi.bangoria@xxxxxxxxxxxxxxxxxx>
>> ---
>> 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 40592e7b3568..268029ae1be6 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%p", (void *)tu->offset);
>> + seq_printf(m, "0x%px", (void *)tu->offset);
>> } else {
>> switch (sizeof(void *)) {
>> case 4:
> Looks good to me. Did you consider %pK instead of %px?

Thanks Srikar,

Checked %pK. But I see same issue with that:

perf probe:
 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:0x0000000014fd571e

> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx>