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] libxl: do not try to detach pci device when none

To: Marek Marczykowski <marmarek@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] libxl: do not try to detach pci device when none attached
From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Fri, 10 Jun 2011 12:03:16 +0100
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Delivery-date: Fri, 10 Jun 2011 04:01:41 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4DF1F675.4000700@xxxxxxxxxxxx>
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: <88f67b423c89f4bd6048.1307662408@devel14> <alpine.DEB.2.00.1106101138210.12963@kaball-desktop> <4DF1F675.4000700@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)
On Fri, 10 Jun 2011, Marek Marczykowski wrote:
> On 10.06.2011 12:44, Stefano Stabellini wrote:
> > On Fri, 10 Jun 2011, Marek Marczykowski wrote:
> >> # HG changeset patch
> >> # User Marek Marczykowski <marmarek@xxxxxxxxxxxx>
> >> # Date 1307662302 -7200
> >> # Node ID 88f67b423c89f4bd604837b9eae2483dad5ebb0d
> >> # Parent  4b392511ae0840fba66c40aa2788dc1ff402b6e8
> >> libxl: do not try to detach pci device when none attached
> >>
> >> Fixes SEGV on domain destroy
> >>
> >> Signed-off-by: Marek Marczykowski <marmarek@xxxxxxxxxxxx>
> >>
> >> diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
> >> --- a/tools/libxl/libxl_pci.c
> >> +++ b/tools/libxl/libxl_pci.c
> >> @@ -1039,6 +1039,8 @@ int libxl_device_pci_shutdown(libxl_ctx 
> >>      rc = libxl_device_pci_list_assigned(ctx, &pcidevs, domid, &num);
> >>      if ( rc )
> >>          return rc;
> >> +    if ( num == 0 )
> >> +        return 0;
> >>      for (i = 0; i < num; i++) {
> >>          /* Force remove on shutdown since, on HVM, qemu will not always
> >>           * respond to SCI interrupt because the guest kernel has shut 
> >> down the
> > 
> > Is the problem here that num is 0 and pcidevs is uninitialized?
> > If so, would this patch solve the problem you are seeing?
> 
> No, when there is no PCI devs, libxl_device_pci_list_assigned exists
> earlier - before allocating memory for pcidevs.

Sorry, but I still don't understand.

If num is 0, it won't enter the following loop anyway, the only
other operation in libxl_device_pci_shutdown is free(pcidevs) and
pcidevs should be NULL so nothing bad should happen.

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