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); -Kees > > for (i = 0; i < tu->tp.nr_args; i++) > seq_printf(m, " %s=%s", tu->tp.args[i].name, > tu->tp.args[i].comm); > -- > 2.13.6 > -- Kees Cook Pixel Security