diff mbox

[2/2] x86/vmd: Initialize list item in irq disable

Message ID 1463505205-30431-2-git-send-email-keith.busch@intel.com (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Keith Busch May 17, 2016, 5:13 p.m. UTC
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>
---
 arch/x86/pci/vmd.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Keith Busch May 17, 2016, 5:25 p.m. UTC | #1
On Tue, May 17, 2016 at 11:13:25AM -0600, Keith Busch wrote:
>  	raw_spin_lock(&list_lock);
>  	list_del_rcu(&vmdirq->node);
> +	LIST_HEAD_INIT_RCU(&vmdirq->node);
>  	raw_spin_unlock(&list_lock);

Sorry, please disregard PATCH 2/2. I'll have to resend with the correct
patch using a real macro instead of the mistyped one above.
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/x86/pci/vmd.c b/arch/x86/pci/vmd.c
index b1662bf..e9e461b 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);
+	LIST_HEAD_INIT_RCU(&vmdirq->node);
 	raw_spin_unlock(&list_lock);
 }