Re: [PATCH 17/21] MSI: Clear the irq_desc's msi pointer on free

From: Eric W. Biederman
Date: Thu Mar 22 2007 - 10:24:42 EST


Michael Ellerman <michael@xxxxxxxxxxxxxx> 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 <michael@xxxxxxxxxxxxxx>
> ---
>
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/