Message ID | 1463505205-30431-2-git-send-email-keith.busch@intel.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
On Tue, May 17, 2016 at 11:13:25AM -0600, Keith Busch wrote: > raw_spin_lock(&list_lock); > list_del_rcu(&vmdirq->node); > + LIST_HEAD_INIT_RCU(&vmdirq->node); > raw_spin_unlock(&list_lock); Sorry, please disregard PATCH 2/2. I'll have to resend with the correct patch using a real macro instead of the mistyped one above. -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/x86/pci/vmd.c b/arch/x86/pci/vmd.c index b1662bf..e9e461b 100644 --- a/arch/x86/pci/vmd.c +++ b/arch/x86/pci/vmd.c @@ -135,6 +135,7 @@ static void vmd_irq_disable(struct irq_data *data) raw_spin_lock(&list_lock); list_del_rcu(&vmdirq->node); + LIST_HEAD_INIT_RCU(&vmdirq->node); raw_spin_unlock(&list_lock); }
Multiple calls to disable an IRQ would have caused the driver to dereference a poisoned list item. This re-initializes the list to allow multiple requests to disable the irq. Signed-off-by: Keith Busch <keith.busch@intel.com> --- arch/x86/pci/vmd.c | 1 + 1 file changed, 1 insertion(+)