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

[Xen-changelog] [xen-unstable] [SHADOW] Fix up change that allowed MMIO

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [SHADOW] Fix up change that allowed MMIO mappings to be shadowed
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 09 Nov 2007 04:20:55 -0800
Delivery-date: Fri, 09 Nov 2007 05:29:03 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1194442889 0
# Node ID c982fe8a9f91faffe2bf08b308bca8a6e8f6c0f0
# Parent  ff2edb1fd9f2376351f3d814f750ebe36e437821
[SHADOW] Fix up change that allowed MMIO mappings to be shadowed
so it doesn't let us map INVALID_MFN as a shadow pagetable page.
Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
---
 xen/arch/x86/mm/shadow/multi.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff -r ff2edb1fd9f2 -r c982fe8a9f91 xen/arch/x86/mm/shadow/multi.c
--- a/xen/arch/x86/mm/shadow/multi.c    Wed Nov 07 11:44:05 2007 +0000
+++ b/xen/arch/x86/mm/shadow/multi.c    Wed Nov 07 13:41:29 2007 +0000
@@ -716,12 +716,14 @@ _sh_propagate(struct vcpu *v,
         goto done;
     }
 
-    // Must have a valid target_mfn unless this is a prefetch.  In the
-    // case of a prefetch, an invalid mfn means that we can not usefully
-    // shadow anything, and so we return early.
+    // Must have a valid target_mfn unless this is a prefetch or an l1
+    // pointing at MMIO space.  In the case of a prefetch, an invalid
+    // mfn means that we can not usefully shadow anything, and so we
+    // return early.
     //
-    if ( shadow_mode_refcounts(d) && 
-         !mfn_valid(target_mfn) && (p2mt != p2m_mmio_direct) )
+    if ( !mfn_valid(target_mfn)
+         && !(level == 1 && (!shadow_mode_refcounts(d) 
+                             || p2mt == p2m_mmio_direct)) )
     {
         ASSERT((ft == ft_prefetch));
         *sp = shadow_l1e_empty();

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [SHADOW] Fix up change that allowed MMIO mappings to be shadowed, Xen patchbot-unstable <=