Re: [PATCH] x86: check for valid irq_cfg pointer insmp_irq_move_cleanup_interrupt

From: Dimitri Sivanich
Date: Mon May 21 2012 - 22:41:02 EST


On Mon, May 21, 2012 at 02:10:39PM -0700, Suresh Siddha wrote:
> On Mon, 2012-05-21 at 16:09 -0500, Dimitri Sivanich wrote:
> > On Mon, May 21, 2012 at 02:05:53PM -0700, Suresh Siddha wrote:
> > > On Mon, 2012-05-21 at 11:49 -0500, Dimitri Sivanich wrote:
> > > > The smp_irq_move_cleanup_interrupt routine should be checking for a valid
> > > > irq_cfg pointer prior to accessing it. It also seems that this should be
> > > > done after taking the desc lock.
> > >
> > > I think these changes are correct. Did you see any crashes during module
> > > unload etc?
> >
> > Yes, we have seen these on occasion during boot.
>
> During boot or shutdown?
>
Early on in boot, on rare occasions.

Easiest to reproduce doing module repeated module loads/unloads.

> Review of the code shows that this can trigger during module unload
> which can call destroy_irq() etc and can trigger the crash if there is a
> parallel irq migration related cleanup.
>
> Unsuccessful module loads can also call destroy_irq() but I doubt that
> is what happening here.
>
> thanks,
> suresh
>
--
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/