Re: perf: fuzzer triggers NULL pointer derefreence in x86_schedule_events

From: Peter Zijlstra
Date: Fri May 01 2015 - 09:00:35 EST


On Thu, Apr 30, 2015 at 03:08:56PM -0400, Vince Weaver wrote:
>
> So the perf_fuzzer caught this after about a week of fuzzing on a Haswell
> machine running a recent git kernel (pre 4.1-rc1 though).
>
> We've seen this BUG before and various fixes were applied but apparently
> it wasn't enough.
>
> Sadly it doesn't seem to be reproducible.
>
> validate_group() -> x86_pmu.schedule_events() -> ???? -> variable_test_bit()
> (hard to tell which test bit with all the inlining going on).

Assuming you build with debug info addr2line -i can help, but I think I
found it by comparing the Code section below with my objdump -D output.

Its:
/* constraint still honored */
if (!test_bit(hwc->idx, c->idxmsk))
break;

Which would seem to suggest c is NULL.

Lemme go figure out how that could happen.
--
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/