WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] pci_remove_device: fix linked list discipline

To: "Tim Deegan" <Tim.Deegan@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] pci_remove_device: fix linked list discipline
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Fri, 20 May 2011 16:41:55 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 20 May 2011 08:41:48 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <7b12c46b18777655c8a5.1305708795@xxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <7b12c46b18777655c8a5.1305708795@xxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> On 18.05.11 at 10:53, Tim Deegan <Tim.Deegan@xxxxxxxxxx> wrote:
> # HG changeset patch
> # User Tim Deegan <Tim.Deegan@xxxxxxxxxx>
> # Date 1305708740 -3600
> # Node ID 7b12c46b18777655c8a5f8290286f5699c77c335
> # Parent  f531ed84b0661aa6863dc86d5e5638642bc47301
> pci_remove_device: fix linked list discipline
> 
> Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
> 
> diff -r f531ed84b066 -r 7b12c46b1877 xen/drivers/passthrough/pci.c
> --- a/xen/drivers/passthrough/pci.c   Tue May 17 17:32:19 2011 +0100
> +++ b/xen/drivers/passthrough/pci.c   Wed May 18 09:52:20 2011 +0100
> @@ -173,11 +173,11 @@ out:
>  
>  int pci_remove_device(u8 bus, u8 devfn)
>  {
> -    struct pci_dev *pdev;
> +    struct pci_dev *pdev, *tmp;
>      int ret = -ENODEV;
>  
>      spin_lock(&pcidevs_lock);
> -    list_for_each_entry ( pdev, &alldevs_list, alldevs_list )
> +    list_for_each_entry_safe ( pdev, tmp, &alldevs_list, alldevs_list )

Somehow I overlooked this patch when it was sent - looking at the
code it modifies I can't see why the ..._safe() variant is necessary
here, as there's a break statement following the list deletion.

Jan

>          if ( pdev->bus == bus && pdev->devfn == devfn )
>          {
>              ret = iommu_remove_device(pdev);
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx 
> http://lists.xensource.com/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel