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] 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

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?


Xen-devel mailing list