On Tue, 17 Jan 2017, Shivappa Vikas wrote:
> On Tue, 17 Jan 2017, Thomas Gleixner wrote:
> 
> > On Fri, 6 Jan 2017, Vikas Shivappa wrote:
> > > @@ -741,7 +741,13 @@ static int intel_cqm_event_init(struct perf_event
> > > *event)
> > >   INIT_LIST_HEAD(&event->hw.cqm_group_entry);
> > >   INIT_LIST_HEAD(&event->hw.cqm_groups_entry);
> > > 
> > > - event->destroy = intel_cqm_event_destroy;
> > 
> > I missed this in the first round, but tripped over it when looking at one
> > of the follow up patches.
> > 
> > How is that supposed to work?
> > 
> > 1) intel_cqm_event_destroy() is still in the code and unused which emits a
> >   compiler warning, but that can obviously be ignored for a good measure.
> > 
> > 2) How would any testing of this mess actually work?
> > 
> >   Not all all. Nothing ever tears down an event. So you just leave
> >   everything hanging around probably with dangling pointers left and
> >   right.
> 
> The terminate is defined in next patch.

I know and that does not make it any better. It's broken, end of story.

Thanks,

        tglx

Reply via email to