Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-devel

Re: [Xen-devel] XENFEAT_writable_pagetables vs VMASST_TYPE_writable_page

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] XENFEAT_writable_pagetables vs VMASST_TYPE_writable_pagetables
From: "Jacob Gorm Hansen" <jacobg@xxxxxxx>
Date: Wed, 31 May 2006 17:09:16 +0200
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 31 May 2006 08:09:38 -0700
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=L359ro397hpLOuurW63OOYyRl0LKZWbVlxxxOHK8m6I3e1TrH6ZOBK7+pXxBMfqMRCC3TDbP7A3+kd1fFzwTthbcjD+3CtmzvMZFIGGZ0Sqm86UkgCRVht0TniZJFPowZt+LBWqIO9szOxo/a0atu/MskidZrxLCpsMpLmqxAhs=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <8e5c0a72f56dc3168831c47cbbf0a216@xxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <e08041f30605310722l2b40dbdfje049f7370fb0c71c@xxxxxxxxxxxxxx> <8e5c0a72f56dc3168831c47cbbf0a216@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On 5/31/06, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> wrote:

It's a case of really bad naming: XENFEAT_writable_pagetables means
that none of the pagetables need to be write-protected or pinned
(presumably because you are permanently on shadow page tables). Whereas
the vmassist simply means that you can attempt to directly write to
your bottom-level PTEs, but page tables must generally be pinned and
write-protected.

Thanks for clearing this up. The problem I have is that I am trying to
prevent writable mappings inside the linux guest, by (among other
measures) moving _PAGE_RW to _PAGE_AVAIL2 in
HYPERVISOR_update_va_mapping() before performing the hypercall to Xen.

This works everywhere, except the call at the bottom of pgd_walk()
when called from __pgd_unpin(). If the pgd is not writable after
unpin, weird stuff starts to happen --- the next call to pmd_clear()
from free_pte_range() fails in Xen, citing incorrect page types.

Can you tell me why linux/xen/the wrpt implementation cannot handle
the unpinned pgd being mapped read-only like this?

Thanks,
Jacob

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