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
|