Michael Ellerman <[EMAIL PROTECTED]> writes:

> Currently we never clear the msi_desc pointer in the irq_desc. This
> leaves us with a pointer to free'ed memory hanging around. No one seems
> to have hit this, so presumably other parts of the code are protecting
> us from ever using the stale pointer .. or we're just lucky, we should
> still clear it.

Hmm.  Maybe.  Currently this is done in dynamic_irq_cleanup,
at least for everything except sparc64.

>
> Signed-off-by: Michael Ellerman <[EMAIL PROTECTED]>
> ---
>
>  drivers/pci/msi.c |    1 +
>  1 file changed, 1 insertion(+)
>
> Index: msi-new/drivers/pci/msi.c
> ===================================================================
> --- msi-new.orig/drivers/pci/msi.c
> +++ msi-new/drivers/pci/msi.c
> @@ -520,6 +520,7 @@ static int msi_free_irq(struct pci_dev* 
>       list_del(&entry->list);
>  
>       arch_teardown_msi_irq(irq);
> +     set_irq_msi(irq, NULL);
>       kfree(entry);
>  
>       if (type == PCI_CAP_ID_MSIX && list_empty(&dev->msi_list))
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to