From: Keir Fraser Date: Fri, 1 Feb 2008 11:21:27 +0000 (+0000) Subject: x86 shadow: Fix cross-page write emulation failure. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14341^2~13 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9ea53031203037bf8ae43f72465f1df93fdc234a;p=xen.git x86 shadow: Fix cross-page write emulation failure. Signed-off-by: Disheng Su --- diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c index 6a8d5e1a15..c9f16bf4bb 100644 --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -4076,7 +4076,7 @@ static void *emulate_map_dest(struct vcpu *v, sh_ctxt->mfn2 = emulate_gva_to_mfn(v, (vaddr + bytes - 1) & PAGE_MASK, sh_ctxt); if ( !mfn_valid(sh_ctxt->mfn2) ) - return ((mfn_x(sh_ctxt->mfn1) == BAD_GVA_TO_GFN) ? + return ((mfn_x(sh_ctxt->mfn2) == BAD_GVA_TO_GFN) ? MAPPING_EXCEPTION : MAPPING_UNHANDLEABLE); /* Cross-page writes mean probably not a pagetable */