On Tue, Mar 6, 2018 at 12:12 AM, Ravi Bangoria <ravi.bango...@linux.vnet.ibm.com> wrote: > > > On 02/08/2018 09:13 AM, Ravi Bangoria wrote: >> >> On 02/08/2018 08:59 AM, Kees Cook wrote: >>> On Tue, Feb 6, 2018 at 8:34 PM, Ravi Bangoria >>> <ravi.bango...@linux.vnet.ibm.com> wrote: >>>> Simplify probes_seq_show() function. We are using %lx to display >>>> the offset and we don't prepend unnecessary 0s in the offset. >>>> >>>> Signed-off-by: Ravi Bangoria <ravi.bango...@linux.vnet.ibm.com> >>>> --- >>>> kernel/trace/trace_uprobe.c | 21 +++------------------ >>>> 1 file changed, 3 insertions(+), 18 deletions(-) >>>> >>>> diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c >>>> index c2c965398893..c12a3957e1ee 100644 >>>> --- a/kernel/trace/trace_uprobe.c >>>> +++ b/kernel/trace/trace_uprobe.c >>>> @@ -602,24 +602,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%lx", 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%lx", c, tu->tp.call.class->system, >>>> + trace_event_name(&tu->tp.call), tu->filename, >>>> + tu->offset); >>> To keep the prepended zeros (and avoid the redundant 0x prefix): >>> >>> "...%#0*lx...", ... sizeof(void *) * 2, tu->offset); >>> >>> As in: >>> >>> + seq_printf(m, "%c:%s/%s %s:%#0*lx", c, tu->tp.call.class->system, >>> + trace_event_name(&tu->tp.call), tu->filename, >>> + sizeof(void *) * 2, tu->offset); >> This is useful, thanks Kees. >> >> @Wang, Do we really need those 0s? Won't just 0x0 should >> suffice? Here is the sample output... >> >> # echo "p:probe_a/main /tmp/a.out:0x0" > uprobe_events >> >> Before patch: >> # cat uprobe_events >> p:probe_a/main /tmp/a.out:0x0000000000000000 >> >> After patch: >> # cat uprobe_events >> p:probe_a/main /tmp/a.out:0x0 > > Wang, ping :) > > Kees, I don't hear back from Wang and no one has reported any issues with > the patches yet. Can I have your Acked-by?
I didn't see a v2 of these patches with the output fixed? -Kees -- Kees Cook Pixel Security