Re: perf_fuzzer crash on pentium 4

Cyrill Gorcunov
2014-05-06T20:23:13Z

On Tue, May 06, 2014 at 11:42:58AM -0400, Vince Weaver wrote:
>
> So just to be difficult I fired up the perf_fuzzer on a Pentium 4 machine.
>
> It crashes more or less instantly (sorry for the line wrapping,
> just got the serial console hooked up and don't have minicom configured
> right yet).
>
> this is 3.15-rc4 with the anti-memory corruption patch applied.
>
> [ 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?) 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...