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] libxc: correctly unmap pages after core-dumping a pv gue

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] libxc: correctly unmap pages after core-dumping a pv guest
From: Markus Groß <gross@xxxxxxxxxxxxx>
Date: Mon, 23 May 2011 14:24:01 +0200
Delivery-date: Mon, 23 May 2011 05:24:31 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <201105231342.28471.gross@xxxxxxxxxxxxx>
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: <201105231342.28471.gross@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.10 (enterprise35 20100903.1171286)
I forgot to put [PATCH] in the subject, sorry about that.

Am Montag 23 Mai 2011 13:42:28 schrieb Markus Groß:
> Hi,
> 
> while implementing core dumping functionality for the libxl driver
> of libvirt, I discovered an issue with mapping pages of a pv guest.
> 
> After dumping the core of a pv guest the domain was not cleared up
> properly and some pages were not unmapped. This issue is similar
> to the one reported here:
> http://lists.xensource.com/archives/html/xen-devel/2011-05/msg01314.html
> 
> In xc_domain_dumpcore_via_callback in the file xc_core.c the function
> xc_core_arch_map_p2m is called to map P2M_FL_ENTRIES pages to the variable 
> p2m.
> But to unmap the pages later, the dinfo->p2m_size has to be set accordingly.
> This was not done, instead a variable named p2m_size was set.
> This way P2M_FL_ENTRIES was always zero and the pages were left mapped.
> 
> The following patch fixes this.
> 
> Best regards,
> Markus
>  
> diff -r 7c7ef1b6f4e5 tools/libxc/xc_core.c
> --- a/tools/libxc/xc_core.c     Tue Apr 26 14:11:18 2011 +0100
> +++ b/tools/libxc/xc_core.c     Mon May 23 13:36:23 2011 +0200
> @@ -468,7 +468,6 @@
>  
>      int auto_translated_physmap;
>      xen_pfn_t *p2m = NULL;
> -    unsigned long p2m_size = 0;
>      struct xen_dumpcore_p2m *p2m_array = NULL;
>  
>      uint64_t *pfn_array = NULL;
> @@ -569,7 +568,7 @@
>          }
>  
>          sts = xc_core_arch_map_p2m(xch, dinfo->guest_width, &info, 
> live_shinfo,
> -                                   &p2m, &p2m_size);
> +                                   &p2m, &dinfo->p2m_size);
>          if ( sts != 0 )
>              goto out;
>      }
> 
> _______________________________________________
> 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