On Thu, Dec 06, 2018 at 05:20:54PM +0000, Quentin Monnet wrote:
> 2018-12-05 19:18 UTC-0800 ~ Alexei Starovoitov
> <alexei.starovoi...@gmail.com>
> > On Wed, Dec 05, 2018 at 06:15:23PM +0000, Quentin Monnet wrote:
> >>>> +
> >>>> +        /* Allow room for NULL terminating byte and pipe file name */
> >>>> +        snprintf(format, sizeof(format), "%%*s %%%zds %%99s %%*s %%*d 
> >>>> %%*d\\n",
> >>>> +                 PATH_MAX - strlen(pipe_name) - 1);
> >>>
> >>> before scanning trace_pipe could you add a check that trace_options are 
> >>> compatible?
> >>> Otherwise there will be a lot of garbage printed.
> >>> afaik default is rarely changed, so the patch is ok as-is.
> >>> The followup some time in the future would be perfect.
> >>
> >> Sure. What do you mean exactly by compatible options? I can check that
> >> "trace_printk" is set, is there any other option that would be relevant?
> > 
> > See Documentation/trace/ftrace.rst
> > a lot of the flags will change the format significantly.
> > Like 'bin' will make it binary.
> > I'm not suggesting to support all possible output formats.
> > Only to check that trace flags match scanf.
> 
> fscanf() is only used to retrieve the name of the sysfs directory where
> the pipe is located, when listing all the mount points on the system. It
> is not used to dump the content from the pipe (which is done with
> getline(), so formatting does not matter much).
> 
> If the "bin" option is set, "bpftool prog tracelog" will dump the same
> binary content as "cat /sys/kernel/debug/tracing/trace_pipe", which is
> the expected behaviour (at least with the current patch). Let me know if
> you would like me to change this somehow.

I misread the patch :) thanks for explaining. all good then.

Reply via email to