[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] libxc: correctly unmap pages after core-dumping a pv guest



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.