Browse Source

x86/PCI: VMD: Initialize list item in IRQ disable

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>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by Jon Derrick: <jonathan.derrick@intel.com>
Keith Busch 9 years ago
parent
commit
97e9230635
1 changed files with 1 additions and 0 deletions
  1. 1 0
      arch/x86/pci/vmd.c

+ 1 - 0
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);
+	INIT_LIST_HEAD_RCU(&vmdirq->node);
 	raw_spin_unlock(&list_lock);
 }