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] Make get_page_from_l1e refcount correctly onfore

To: "Tim Deegan" <Tim.Deegan@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Make get_page_from_l1e refcount correctly onforeign pagetables.
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Thu, 14 May 2009 08:42:56 +0100
Cc: Yunhong Jiang <yunhong.jiang@xxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 14 May 2009 00:43:22 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090513160725.GH12377@xxxxxxxxxxxxxxxxxxxxx>
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: <20090513160725.GH12377@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> Tim Deegan <Tim.Deegan@xxxxxxxxxx> 13.05.09 18:07 >>>
>
>Hypercalls from dom0 can end up doing resyncs on HVM guests' out-of-sync
>shadow pagetables.  At that point the check against current->domain in 
>get_page_from_l1e() triggers the typecount exemption for foreign mappings
>and a writeable typecount gets lost. 
>
>Make the foreign-domain check explicit by having get_page_from_l1e_for(),
>which understands both the dom whose right are being used and the dom
>whose pagetables are being updated.  Most callers of get_page_from_l1e() 
>have both the same (instead of one hard-coded to current->domain as before).
>
>Analysis and fix from David Lively.

I have to admit that the change to mod_l1_entry() look suspicious to me -
as I understand it, the third parameter of get_page_from_l1e_for() represents
the target domain, and that's what FOREIGNDOM is to be used for.

Perhaps the whole thing gets more convoluted because of c/s 19383, which
added a vcpu parameter for no apparent reason (current is used for that
everywhere afaict).

Jan


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