aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/shadow.h
diff options
context:
space:
mode:
authorTim Deegan <Tim.Deegan@xensource.com>2006-10-17 11:07:11 +0100
committerTim Deegan <Tim.Deegan@xensource.com>2006-10-17 11:07:11 +0100
commit3cc943dc88804bb61719d991267cc4b86f0fe198 (patch)
treea10c2e1f1e6cb79190e77a82edcfa35ab211996d /xen/include/asm-x86/shadow.h
parentfb7382a4d9fa94c0d0b053669e20917c1bf5f733 (diff)
downloadxen-3cc943dc88804bb61719d991267cc4b86f0fe198.tar.gz
xen-3cc943dc88804bb61719d991267cc4b86f0fe198.tar.bz2
xen-3cc943dc88804bb61719d991267cc4b86f0fe198.zip
[XEN] Don't kill shadowed guest for writing bogus PTEs.
If a guest writes a "bad" pagetable entry and we fail to unshadow the page, don't kill the guest. This makes the behaviour the same as if the bad PTE were already in place when we shadowed the page. Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Diffstat (limited to 'xen/include/asm-x86/shadow.h')
-rw-r--r--xen/include/asm-x86/shadow.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/xen/include/asm-x86/shadow.h b/xen/include/asm-x86/shadow.h
index 98dcc140b9..9301022abd 100644
--- a/xen/include/asm-x86/shadow.h
+++ b/xen/include/asm-x86/shadow.h
@@ -549,13 +549,13 @@ shadow_remove_all_shadows_and_parents(struct vcpu *v, mfn_t gmfn);
* Unshadow it, and recursively unshadow pages that reference it. */
/* Remove all shadows of the guest mfn. */
-extern void sh_remove_shadows(struct vcpu *v, mfn_t gmfn, int all);
+extern void sh_remove_shadows(struct vcpu *v, mfn_t gmfn, int fast, int all);
static inline void shadow_remove_all_shadows(struct vcpu *v, mfn_t gmfn)
{
int was_locked = shadow_lock_is_acquired(v->domain);
if ( !was_locked )
shadow_lock(v->domain);
- sh_remove_shadows(v, gmfn, 1);
+ sh_remove_shadows(v, gmfn, 0, 1);
if ( !was_locked )
shadow_unlock(v->domain);
}