diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-01-17 15:19:41 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-01-17 15:19:41 +0100 |
commit | 8cae135e33ce6ce95c084770ed60e2bfacb79ca6 (patch) | |
tree | 3b6321bd85e095cea4653859d1adb591b09e78f9 | |
parent | eefac7560f9a23e9330c04fe50e1185a1739a18d (diff) | |
download | xen-8cae135e33ce6ce95c084770ed60e2bfacb79ca6.tar.gz xen-8cae135e33ce6ce95c084770ed60e2bfacb79ca6.tar.bz2 xen-8cae135e33ce6ce95c084770ed60e2bfacb79ca6.zip |
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 <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 26332:8e942f2f3b45
xen-unstable date: Mon Jan 7 12:28:29 UTC 2013
-rw-r--r-- | xen/arch/x86/x86_64/compat/traps.c | 5 |
1 files 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 ) { |