aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-01-17 15:19:41 +0100
committerJan Beulich <jbeulich@suse.com>2013-01-17 15:19:41 +0100
commit8cae135e33ce6ce95c084770ed60e2bfacb79ca6 (patch)
tree3b6321bd85e095cea4653859d1adb591b09e78f9
parenteefac7560f9a23e9330c04fe50e1185a1739a18d (diff)
downloadxen-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.c5
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 )
{