ia64/xen-unstable

changeset 12613:4cd39f7f090d

[XEN] Clear just the _PAGE_RW bit when shooting writeable mappings
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
author Tim Deegan <Tim.Deegan@xensource.com>
date Tue Nov 28 12:24:24 2006 +0000 (2006-11-28)
parents 0af1ba62a14b
children 723dbe1fc751
files xen/arch/x86/mm/shadow/multi.c
line diff
     1.1 --- a/xen/arch/x86/mm/shadow/multi.c	Tue Nov 28 11:47:28 2006 +0000
     1.2 +++ b/xen/arch/x86/mm/shadow/multi.c	Tue Nov 28 12:24:24 2006 +0000
     1.3 @@ -3664,7 +3664,8 @@ int sh_remove_write_access(struct vcpu *
     1.4               && (flags & _PAGE_RW) 
     1.5               && (mfn_x(shadow_l1e_get_mfn(*sl1e)) == mfn_x(readonly_mfn)) )
     1.6          {
     1.7 -            (void) shadow_set_l1e(v, sl1e, shadow_l1e_empty(), sl1mfn);
     1.8 +            shadow_l1e_t ro_sl1e = shadow_l1e_remove_flags(*sl1e, _PAGE_RW);
     1.9 +            (void) shadow_set_l1e(v, sl1e, ro_sl1e, sl1mfn);
    1.10  #if SHADOW_OPTIMIZATIONS & SHOPT_WRITABLE_HEURISTIC 
    1.11              /* Remember the last shadow that we shot a writeable mapping in */
    1.12              v->arch.shadow.last_writeable_pte_smfn = mfn_x(base_sl1mfn);