On Fri, Nov 18, 2016 at 03:30:48PM +0100, Jiri Olsa wrote:
> > > > +static bool is_box_event(struct intel_uncore_box *box, struct 
> > > > perf_event *event)
> > > >  {
> > > > -       return event->pmu->event_init == uncore_pmu_event_init;
> > > > +       return box->pmu == event->pmu;
> > > 
> > > this one needs to be:
> > > 
> > > +       return box->pmu == uncore_event_to_pmu(event);
> > > 
> > > and it works.. ;-)
> > 
> > Will that not explode if we fudge a software event in there?
> > 
> > Wouldn't:
> > 
> >     return box->pmu.pmu == event->pmu;
> > 
> > be the safer option?
> 
> hum right.. but for some reason I can't crash it nor even fuzzer complains

Its because pmu is the first member, so the pointer is the exact same,
just the type changes. But that is a 'happy' accident of implementation.

Reply via email to