Re: perf/tracepoint: another fuzzer generated lockup

From: Vince Weaver
Date: Thu Nov 14 2013 - 14:09:49 EST


On Thu, 14 Nov 2013, Peter Zijlstra wrote:

> On Thu, Nov 14, 2013 at 12:20:35PM -0500, Vince Weaver wrote:
> >
> > possibly not an issue with your patch, but found in nearby code:
> >
> > in perf_trace_init:
> >
> > int event_id = p_event->attr.config;
> >
> > ...
> >
> > if (tp_event->event.type == event_id &&
> >
> >
> > note that "attr.config" is 64-bit but "event_id" is only 32-bit,
> > so things like 0xffffffff00000018 will map to irq_work_exit.
>
> I will have a look.

Assuming this is a real issue, I'll submit a patch to fix this if I'm not
beaten to it by someone else.

> > I'm not sure if your PERM code properly handles this case, I don't have
> > time to work through the macro-magic in your patch.
>
> Can't blame you; took me a fair chunk of the day to come up with this.
> That trace event stuff is horrid.

I did some tests both with the high bits set and non-set and wasn't able
to trigger the bug. Also ran the fuzzer for a while and while it keeps
finding other bugs, it hasn't tripped over any that were overtly
tracepoint related. So you can add my

Tested-by: Vince Weaver <vincent.weaver@xxxxxxxxx>

Vince
--
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/