diff mbox

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

Message ID 1463505738-30666-1-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:22 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>
---
v1 -> v2:
  Used the patch with the correct macro

 arch/x86/pci/vmd.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Jon Derrick May 17, 2016, 6:51 p.m. UTC | #1
Acked-by Jon Derrick: <jonathan.derrick@intel.com>

On Tue, May 17, 2016 at 11:22:18AM -0600, Keith Busch wrote:
> 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>
> ---
> v1 -> v2:
>   Used the patch with the correct macro
> 
>  arch/x86/pci/vmd.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/x86/pci/vmd.c b/arch/x86/pci/vmd.c
> index b1662bf..3519a15 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);
>  }
>  
> -- 
> 2.7.2
> 
--
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
Jon Derrick June 1, 2016, 9:10 p.m. UTC | #2
Hi Bjorn,

Any plans to get this set in?

Thanks,
J

-----Original Message-----
From: linux-pci-owner@vger.kernel.org [mailto:linux-pci-owner@vger.kernel.org] On Behalf Of Jon Derrick
Sent: Tuesday, May 17, 2016 12:51 PM
To: Busch, Keith <keith.busch@intel.com>
Cc: linux-pci@vger.kernel.org; Bjorn Helgaas <bhelgaas@google.com>
Subject: Re: [PATCHv2] x86/vmd: Initialize list item in irq disable

Acked-by Jon Derrick: <jonathan.derrick@intel.com>

On Tue, May 17, 2016 at 11:22:18AM -0600, Keith Busch wrote:
> 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>
> ---
> v1 -> v2:
>   Used the patch with the correct macro
> 
>  arch/x86/pci/vmd.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/x86/pci/vmd.c b/arch/x86/pci/vmd.c index 
> b1662bf..3519a15 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);
>  }
>  
> --
> 2.7.2
> 
--
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
--
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
Jon Derrick June 8, 2016, 8:56 p.m. UTC | #3
Hi Bjorn,

Let me know if there's anything else needing to be done to get this set in.

Thanks,
Jon

On Wed, Jun 01, 2016 at 03:10:30PM -0600, Derrick, Jonathan wrote:
> Hi Bjorn,
> 
> Any plans to get this set in?
> 
> Thanks,
> J
> 
> -----Original Message-----
> From: linux-pci-owner@vger.kernel.org [mailto:linux-pci-owner@vger.kernel.org] On Behalf Of Jon Derrick
> Sent: Tuesday, May 17, 2016 12:51 PM
> To: Busch, Keith <keith.busch@intel.com>
> Cc: linux-pci@vger.kernel.org; Bjorn Helgaas <bhelgaas@google.com>
> Subject: Re: [PATCHv2] x86/vmd: Initialize list item in irq disable
> 
> Acked-by Jon Derrick: <jonathan.derrick@intel.com>
> 
> On Tue, May 17, 2016 at 11:22:18AM -0600, Keith Busch wrote:
> > 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>
> > ---
> > v1 -> v2:
> >   Used the patch with the correct macro
> > 
> >  arch/x86/pci/vmd.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/x86/pci/vmd.c b/arch/x86/pci/vmd.c index 
> > b1662bf..3519a15 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);
> >  }
> >  
> > --
> > 2.7.2
> > 
> --
> 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
--
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..3519a15 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);
 }