On 05/21/2015 07:17 AM, Peter Zijlstra wrote: > --- a/arch/x86/kernel/cpu/perf_event_intel.c > +++ b/arch/x86/kernel/cpu/perf_event_intel.c > @@ -2106,7 +2106,7 @@ static struct event_constraint * > intel_get_event_constraints(struct cpu_hw_events *cpuc, int idx, > struct perf_event *event) > { > - struct event_constraint *c1 = event->hw.constraint; > + struct event_constraint *c1 = cpuc->event_constraint[idx]; > struct event_constraint *c2;
Hey Peter, I was chasing a memory corruption in this area and I think I found a possible culprit: After this patch, In the code above, we'd access "cpuc->event_constraint[idx]" and read/change memory. The problem is that a valid value for idx is also -1, which isn't checked here, so we end up accessing and possibly corrupting memory that isn't ours. Thanks, Sasha -- 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/