diff options
author | Keith Busch <keith.busch@intel.com> | 2016-05-17 13:22:18 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2016-06-13 17:03:03 -0400 |
commit | 97e92306357583c1741f0a111c7befe8673b91ee (patch) | |
tree | 976e3a1c9b8276cdf75eaa5265332c4ee55b340c | |
parent | ca8a8fabb10459753fba73cac0382076f0aab058 (diff) |
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>
-rw-r--r-- | arch/x86/pci/vmd.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/pci/vmd.c b/arch/x86/pci/vmd.c index b1662bf17937..3519a1578752 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) | |||
135 | 135 | ||
136 | raw_spin_lock(&list_lock); | 136 | raw_spin_lock(&list_lock); |
137 | list_del_rcu(&vmdirq->node); | 137 | list_del_rcu(&vmdirq->node); |
138 | INIT_LIST_HEAD_RCU(&vmdirq->node); | ||
138 | raw_spin_unlock(&list_lock); | 139 | raw_spin_unlock(&list_lock); |
139 | } | 140 | } |
140 | 141 | ||