diff options
author | Keith Busch <keith.busch@intel.com> | 2016-05-17 19:22:18 +0200 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2016-06-13 23:03:03 +0200 |
commit | 97e92306357583c1741f0a111c7befe8673b91ee (patch) | |
tree | 976e3a1c9b8276cdf75eaa5265332c4ee55b340c /arch/x86/pci/vmd.c | |
parent | x86/PCI: VMD: Select device dma ops to override (diff) | |
download | linux-97e92306357583c1741f0a111c7befe8673b91ee.tar.xz linux-97e92306357583c1741f0a111c7befe8673b91ee.zip |
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>
Diffstat (limited to 'arch/x86/pci/vmd.c')
-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); } |