Re: [PATCH] perf: fix a segfault problem.

From: Namhyung Kim
Date: Fri Mar 13 2015 - 07:21:34 EST


On Fri, Mar 13, 2015 at 06:07:34PM +0800, Wang Nan wrote:
> On 2015/3/13 17:46, Namhyung Kim wrote:
> > On Fri, Mar 13, 2015 at 08:41:32AM +0000, Wang Nan wrote:
> >> Without this patch, perf report cause segfault if pass "" as '-t':
> >>
> >> $ perf report -t ""
> >>
> >> # To display the perf.data header info, please use --header/--header-only options.
> >> #
> >> # Samples: 37 of event 'syscalls:sys_enter_write'
> >> # Event count (approx.): 37
> >> #
> >> # Children SelfCommand Shared Object Symbol
> >> Segmentation fault
> >>
> >> This patch avoid the segfault by checking empty string for
> >> 'symbol_conf.field_sep'.
> >
> > What about resetting it to NULL if empty string was given?
> >
>
> In fact I'm not very clear why we need such 'symbol_conf.field_sep', so I'm
> not sure whether '-t ""' is totally meanless or not.
>
> -t option replaces a group of character with '.' and appends them after a field.
> With -t 'abc' I get something like:
>
> #
> # OverheadabcCommand abcShared Object abcSymbol
> 100.00%abcb.beltr.ceabc[kernel.k.llsyms]abc[k] 0xffffffff810118f0
> ...
>
> Hard to read...
>
> I read docs and your commit messages, but still not understand the option. Could you
> please explain the goal and usage of that option again?

Well, I'm not the person who wrote the doc and introduced this
option. ;-)

Anyway AFAIK it's to generate a CSV file so usual value would be ','.
To reduce possible confusion due to the separation character in the
original output, it replaces the character during the generation.

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/