Messages in this thread | | | Date | Fri, 21 Aug 2015 16:31:28 -0400 | From | Sasha Levin <> | Subject | Re: [PATCH 01/10] perf,x86: Fix event/group validation |
| |
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
| |