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/
Home Products Support Community News


Re: [Xen-devel] can dom0 modify Shadow PT of HVM domU?

To: Wu Bingzheng <wubingzheng@xxxxxxx>
Subject: Re: [Xen-devel] can dom0 modify Shadow PT of HVM domU?
From: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Date: Wed, 26 Aug 2009 10:00:16 +0100
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 26 Aug 2009 02:00:53 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <33221896.741851251275735463.JavaMail.coremail@xxxxxxxxxxxxxxxxxx>
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: <33221896.741851251275735463.JavaMail.coremail@xxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.17 (2007-11-01)

At 09:35 +0100 on 26 Aug (1251279335), Wu Bingzheng wrote:
> Can Xen hypervisor modify HVM domU's Shadow page table, under the
> dom0's context, like trapped from dom0's hypercall?

Yes, and it sometimes does (e.g. dom0 hypercalls that change domU's p2m
tables cause changes indirectly in the shadows).

> I think it have to call 2 functions at least: guest_walk_tables() and
> flush_tlb_all(). Can these 2 functions called in dom0's context?

Yes, but they're not nearly enough to safely modify the shadow
pagetables.  There's a lot of reference-counting and concurrency code in
there.  The paging_* function calls are really the only sensible way to
interact with the shadow pagetables code.

> In my test, if hypervisor tries to modify HVM's shadow page table, it
> will bring down the whole system. I am not sure what's the reason.

Why do you want to modify the shadow pagetables from dom0?  They're
probably the wrong place to be trying to do things since (a) they don't
exist on EPT/NPT-capable hardware, and (b) they can get discarded and
rebuilt by Xen at any time.



Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Citrix Systems (R&D) Ltd.
[Company #02300071, SL9 0DZ, UK.]

Xen-devel mailing list