]> git.karo-electronics.de Git - karo-tx-linux.git/commit
KVM guest: fix bogus wallclock physical address calculation
authorGlauber Costa <glommer@redhat.com>
Mon, 31 Aug 2009 07:04:31 +0000 (03:04 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 24 Sep 2009 15:44:06 +0000 (08:44 -0700)
commit6aece86ef27f5713f7a34a3e4c844ad0ba29fbae
tree96251d2cbd3d704ba31527b6f86dfddef4c956f1
parentbd634611e589582bba636434af7fcbf782eceb42
KVM guest: fix bogus wallclock physical address calculation

commit a20316d2aa41a8f4fd171648bad8f044f6060826 upstream.

The use of __pa() to calculate the address of a C-visible symbol
is wrong, and can lead to unpredictable results. See arch/x86/include/asm/page.h
for details.

It should be replaced with __pa_symbol(), that does the correct math here,
by taking relocations into account.  This ensures the correct wallclock data
structure physical address is passed to the hypervisor.

Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kernel/kvmclock.c