linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] trace_uprobe: Display correct offset in uprobe_events
@ 2018-01-06  5:42 Ravi Bangoria
  2018-01-08  5:19 ` Srikar Dronamraju
  2018-01-19 16:04 ` Steven Rostedt
  0 siblings, 2 replies; 6+ messages in thread
From: Ravi Bangoria @ 2018-01-06  5:42 UTC (permalink / raw)
  To: rostedt; +Cc: mingo, oleg, srikar, linux-kernel, namhyung, Ravi Bangoria

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

Signed-off-by: Ravi Bangoria <ravi.bangoria@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 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:
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] trace_uprobe: Display correct offset in uprobe_events
  2018-01-06  5:42 [PATCH] trace_uprobe: Display correct offset in uprobe_events Ravi Bangoria
@ 2018-01-08  5:19 ` Srikar Dronamraju
  2018-01-08  6:31   ` Ravi Bangoria
  2018-01-19 16:04 ` Steven Rostedt
  1 sibling, 1 reply; 6+ messages in thread
From: Srikar Dronamraju @ 2018-01-08  5:19 UTC (permalink / raw)
  To: Ravi Bangoria; +Cc: rostedt, mingo, oleg, linux-kernel, namhyung


* Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> [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@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 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?

Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] trace_uprobe: Display correct offset in uprobe_events
  2018-01-08  5:19 ` Srikar Dronamraju
@ 2018-01-08  6:31   ` Ravi Bangoria
  2018-01-08  6:35     ` Tobin C. Harding
  0 siblings, 1 reply; 6+ messages in thread
From: Ravi Bangoria @ 2018-01-08  6:31 UTC (permalink / raw)
  To: Srikar Dronamraju
  Cc: rostedt, mingo, oleg, linux-kernel, namhyung, me, Ravi Bangoria



On 01/08/2018 10:49 AM, Srikar Dronamraju wrote:
> * Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> [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@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 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@linux.vnet.ibm.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] trace_uprobe: Display correct offset in uprobe_events
  2018-01-08  6:31   ` Ravi Bangoria
@ 2018-01-08  6:35     ` Tobin C. Harding
  2018-01-08 13:58       ` Srikar Dronamraju
  0 siblings, 1 reply; 6+ messages in thread
From: Tobin C. Harding @ 2018-01-08  6:35 UTC (permalink / raw)
  To: Ravi Bangoria
  Cc: Srikar Dronamraju, rostedt, mingo, oleg, linux-kernel, namhyung

On Mon, Jan 08, 2018 at 12:01:04PM +0530, Ravi Bangoria wrote:
> 
> 
> On 01/08/2018 10:49 AM, Srikar Dronamraju wrote:
> > * Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> [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@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 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

%pK behaves the same as %p (hashes address) when kpt_restrict==0

Hope this helps,
Tobin.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] trace_uprobe: Display correct offset in uprobe_events
  2018-01-08  6:35     ` Tobin C. Harding
@ 2018-01-08 13:58       ` Srikar Dronamraju
  0 siblings, 0 replies; 6+ messages in thread
From: Srikar Dronamraju @ 2018-01-08 13:58 UTC (permalink / raw)
  To: Tobin C. Harding
  Cc: Ravi Bangoria, rostedt, mingo, oleg, linux-kernel, namhyung

* Tobin C. Harding <me@tobin.cc> [2018-01-08 17:35:59]:

> On Mon, Jan 08, 2018 at 12:01:04PM +0530, Ravi Bangoria wrote:
> > 
> > 
> > On 01/08/2018 10:49 AM, Srikar Dronamraju wrote:
> > > * Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> [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@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 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
> 
> %pK behaves the same as %p (hashes address) when kpt_restrict==0
> 
> Hope this helps,

Thanks Tobin for the clarification. So %px is the right choice.

-- 
thanks and regards
Srikar

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] trace_uprobe: Display correct offset in uprobe_events
  2018-01-06  5:42 [PATCH] trace_uprobe: Display correct offset in uprobe_events Ravi Bangoria
  2018-01-08  5:19 ` Srikar Dronamraju
@ 2018-01-19 16:04 ` Steven Rostedt
  1 sibling, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2018-01-19 16:04 UTC (permalink / raw)
  To: Ravi Bangoria; +Cc: mingo, oleg, srikar, linux-kernel, namhyung

On Sat,  6 Jan 2018 11:12:46 +0530
Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> wrote:

> 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
> 

Thanks, I'll pull this into my tree.

-- Steve

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-01-19 16:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-06  5:42 [PATCH] trace_uprobe: Display correct offset in uprobe_events Ravi Bangoria
2018-01-08  5:19 ` Srikar Dronamraju
2018-01-08  6:31   ` Ravi Bangoria
2018-01-08  6:35     ` Tobin C. Harding
2018-01-08 13:58       ` Srikar Dronamraju
2018-01-19 16:04 ` Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).