Re: perf,arm -- another (different) fuzzer oops

From: Vince Weaver
Date: Wed Aug 07 2013 - 22:47:22 EST


On Wed, 7 Aug 2013, Vince Weaver wrote:

> On Wed, 7 Aug 2013, Stephen Boyd wrote:
>
> > ---8<----
> >
> > diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
> > index d9f5cd4..21f7790 100644
> > --- a/arch/arm/kernel/perf_event.c
> > +++ b/arch/arm/kernel/perf_event.c
> > @@ -53,7 +53,12 @@ armpmu_map_cache_event(const unsigned (*cache_map)
> > static int
> > armpmu_map_hw_event(const unsigned (*event_map)[PERF_COUNT_HW_MAX], u64 config)
> > {
> > - int mapping = (*event_map)[config];
> > + int mapping;
> > +
> > + if (config >= PERF_COUNT_HW_MAX)
> > + return -ENOENT;
> > +
> > + mapping = (*event_map)[config];
> > return mapping == HW_OP_UNSUPPORTED ? -ENOENT : mapping;
> > }
>
> I've tested this patch and my testcase no longer causes the kernel to
> oops, so
>
> Tested-by: Vince Weaver <vincent.weaver@xxxxxxxxx>

P.S. I re-ran the fuzzer again after applying the patch and the good news
is there were no further oopsen. The bad news is the machine locked
up solid. I'll investigate further when I'm not remote.

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/