Эх сурвалжийг харах

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 жил өмнө
parent
commit
97e9230635
1 өөрчлөгдсөн 1 нэмэгдсэн , 0 устгасан
  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);
 }