From 8cae135e33ce6ce95c084770ed60e2bfacb79ca6 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Thu, 17 Jan 2013 15:19:41 +0100 Subject: [PATCH] x86: compat_show_guest_stack() should not truncate MFN Re-using "addr" here was a mistake, as it is a 32-bit quantity. Signed-off-by: Jan Beulich Acked-by: Ian Campbell Acked-by: Keir Fraser xen-unstable changeset: 26332:8e942f2f3b45 xen-unstable date: Mon Jan 7 12:28:29 UTC 2013 --- xen/arch/x86/x86_64/compat/traps.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/x86_64/compat/traps.c b/xen/arch/x86/x86_64/compat/traps.c index a9ee983a90..4a4b1b75c7 100644 --- a/xen/arch/x86/x86_64/compat/traps.c +++ b/xen/arch/x86/x86_64/compat/traps.c @@ -20,11 +20,12 @@ void compat_show_guest_stack(struct vcpu *v, struct cpu_user_regs *regs, if ( v != current ) { struct vcpu *vcpu; + unsigned long mfn; ASSERT(guest_kernel_mode(v, regs)); - addr = read_cr3() >> PAGE_SHIFT; + mfn = read_cr3() >> PAGE_SHIFT; for_each_vcpu( v->domain, vcpu ) - if ( pagetable_get_pfn(vcpu->arch.guest_table) == addr ) + if ( pagetable_get_pfn(vcpu->arch.guest_table) == mfn ) break; if ( !vcpu ) { -- 2.39.5