From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Vrable Subject: [PATCH] Small fix for shadow_remove_all_access_in_page Date: Mon, 12 Sep 2005 19:38:45 -0700 Message-ID: <20050913023845.GA4764@vrable.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Here's a fairly simple patch to correct a bug I hit when experimenting with VM forking earlier. Let me know if there's anything wrong with the changeset; this is the first time I've tried exporting a changeset from Mercurial. --Michael Vrable # HG changeset patch # User Michael Vrable # Node ID df9609e384a4a819a69d01556b8231b842b04050 # Parent d8637529dafff3c610e4bb31349d4ae00a23a18e Fix a bug in shadow_remove_all_access_in_page. Fixes a fairly obvious bug, in which an if statement was reversed. The bug has been present for a while, so apparently this code isn't well tested. Signed-off-by: Michael Vrable diff -r d8637529daff -r df9609e384a4 xen/arch/x86/shadow32.c --- a/xen/arch/x86/shadow32.c Mon Sep 12 21:42:26 2005 +++ b/xen/arch/x86/shadow32.c Tue Sep 13 02:00:19 2005 @@ -2226,7 +2226,7 @@ for (i = 0; i < L1_PAGETABLE_ENTRIES; i++) { - if ( unlikely(!l1e_has_changed(pl1e[i], match, flags) == 0) ) + if ( unlikely(!l1e_has_changed(pl1e[i], match, flags)) ) { l1_pgentry_t ol2e = pl1e[i]; pl1e[i] = l1e_empty(); diff -r d8637529daff -r df9609e384a4 xen/arch/x86/shadow_public.c --- a/xen/arch/x86/shadow_public.c Mon Sep 12 21:42:26 2005 +++ b/xen/arch/x86/shadow_public.c Tue Sep 13 02:00:19 2005 @@ -1634,7 +1634,7 @@ for (i = 0; i < L1_PAGETABLE_ENTRIES; i++) { - if ( unlikely(!l1e_has_changed(pl1e[i], match, flags) == 0) ) + if ( unlikely(!l1e_has_changed(pl1e[i], match, flags)) ) { l1_pgentry_t ol2e = pl1e[i]; pl1e[i] = l1e_empty();