diff options
| author | Keith Busch <[email protected]> | 2016-05-17 11:22:18 -0600 |
|---|---|---|
| committer | Bjorn Helgaas <[email protected]> | 2016-06-13 16:03:03 -0500 |
| 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 <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
Acked-by Jon Derrick: <[email protected]>
| -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) raw_spin_lock(&list_lock); list_del_rcu(&vmdirq->node); + INIT_LIST_HEAD_RCU(&vmdirq->node); raw_spin_unlock(&list_lock); } |