On Wed, May 07, 2014 at 12:23:08AM +0400, Cyrill Gorcunov wrote: > 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...
I think my commit 13beacee817d27a40ffc6f065ea0042685611dd5 explains this corruption. Though I have to admit I haven't looked through the problem very closely yet. IOW my lazy fix in that commit doesn't cover fuzzers and the real problem in p4_pmu_schedule_events. :-) Cheers, Don -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/