Re: [PATCH 17/18] tracing: Add indirect to indirect access for function based events

From: Namhyung Kim
Date: Tue Feb 13 2018 - 04:27:52 EST


Hi Steve,

On Mon, Feb 12, 2018 at 12:23:54PM -0500, Steven Rostedt wrote:
> On Mon, 12 Feb 2018 11:15:34 +0900
> Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>
> > > It should have been:
> > >
> > > return process_redirects(arg, val, buf);
> >
> > But I think you need to consider data type of the arg when
> > dereferencing the last redirect.
>
> What for?

Otherwise it'd return a value of unsigned long type regardless of the
type of the arg. I thought it should have same logic as indirect
args.

But it seems not matter since record_entry() would copy it only for
the arg->size. Then type check in __get_arg() might be unnecessary
too.

>
> Also this code has also changed. I haven't posted new patches but my
> latest is in my git tree in the branch ftrace/dynamic-ftrace-events.

I've checked it. And it seems to have another problem for indirect
(but not redirect) arrays and strings. Like 'x32[1] foo[2]'?

Thanks,
Namhyung