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

Re: [Xen-devel] [PATCH] x86/mm/shadow: spurious warning when unmapping xenheap pages.



On 28/03/13 10:35, Tim Deegan wrote:
> Xenheap pages will always have an extra typecount, taken in
> share_xen_page_with_guest(), which doesn't come from a shadow PTE.
> Adjust the warning in sh_remove_all_mappings() to account for it.
>
> Reported-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Signed-off-by: Tim Deegan <tim@xxxxxxx>

Tested-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

> ---
>  xen/arch/x86/mm/shadow/common.c |    7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
> index 4b576ac..adffa06 100644
> --- a/xen/arch/x86/mm/shadow/common.c
> +++ b/xen/arch/x86/mm/shadow/common.c
> @@ -2437,10 +2437,13 @@ int sh_remove_all_mappings(struct vcpu *v, mfn_t gmfn)
>      {
>          /* Don't complain if we're in HVM and there are some extra mappings: 
>           * The qemu helper process has an untyped mapping of this dom's RAM 
> -         * and the HVM restore program takes another. */
> +         * and the HVM restore program takes another.
> +         * Also allow one typed refcount for xenheap pages, to match
> +         * share_xen_page_with_guest(). */
>          if ( !(shadow_mode_external(v->domain)
>                 && (page->count_info & PGC_count_mask) <= 3
> -               && (page->u.inuse.type_info & PGT_count_mask) == 0) )
> +               && ((page->u.inuse.type_info & PGT_count_mask)
> +                   == !!is_xen_heap_page(page))) )
>          {
>              SHADOW_ERROR("can't find all mappings of mfn %lx: "
>                            "c=%08lx t=%08lx\n", mfn_x(gmfn), 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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