Re: perf_fuzzer crash on pentium 4

Cyrill Gorcunov
2014-05-06T21:46:33Z

On Tue, May 06, 2014 at 05:30:19PM -0400, Vince Weaver wrote:
> On Wed, 7 May 2014, Cyrill Gorcunov wrote:
>
> > > [ 67.872274] BUG: unable to handle kernel NULL pointer dereference at 00000004
> > > [ 67.876146] IP: [<ffffffff81013df2>] p4_pmu_schedule_events+0xa5/0x331
> >
> > This looks like
> >
> > p4_pmu_schedule_events:
> > ...
> > bind = p4_config_get_bind(hwc->config);
> > returned bind = NULL;
> > escr_idx = p4_get_escr_idx(bind->escr_msr[thread]); NULL deref
> >
> > If i'm right (btw it's possible to use addr2line helper?)
>
> Yes, the address maps to
>
> escr_idx = p4_get_escr_idx(bind->escr_msr[thread]);

Great, now we knows the reason of the issue, only to figure out
why is left ;)

> > then hwc->config
> > is corrupted and p4_config_get_bind returned nil simply because proper event
> > was not found. And I don't understand how it could happen because before
> > configuration gets written into hwc->config it's validated once obtained
> > from user-space as a raw event. Weird...
>
> I'll try to get some sort of trace out if it to see what event is being
> tried.

Yeah, this would help a lot.