* [PATCH] use __pa_symbol to calculate the address of a C symbol.
@ 2009-08-31 7:04 Glauber Costa
2009-08-31 11:24 ` Avi Kivity
0 siblings, 1 reply; 2+ messages in thread
From: Glauber Costa @ 2009-08-31 7:04 UTC (permalink / raw)
To: kvm; +Cc: linux-kernel, avi
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.
Signed-off-by: Glauber Costa <glommer@redhat.com>
---
arch/x86/kernel/kvmclock.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
index 223af43..e5efcdc 100644
--- a/arch/x86/kernel/kvmclock.c
+++ b/arch/x86/kernel/kvmclock.c
@@ -50,8 +50,8 @@ static unsigned long kvm_get_wallclock(void)
struct timespec ts;
int low, high;
- low = (int)__pa(&wall_clock);
- high = ((u64)__pa(&wall_clock) >> 32);
+ low = (int)__pa_symbol(&wall_clock);
+ high = ((u64)__pa_symbol(&wall_clock) >> 32);
native_write_msr(MSR_KVM_WALL_CLOCK, low, high);
vcpu_time = &get_cpu_var(hv_clock);
--
1.6.2.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] use __pa_symbol to calculate the address of a C symbol.
2009-08-31 7:04 [PATCH] use __pa_symbol to calculate the address of a C symbol Glauber Costa
@ 2009-08-31 11:24 ` Avi Kivity
0 siblings, 0 replies; 2+ messages in thread
From: Avi Kivity @ 2009-08-31 11:24 UTC (permalink / raw)
To: Glauber Costa; +Cc: kvm, linux-kernel
On 08/31/2009 10:04 AM, Glauber Costa wrote:
> 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.
>
Applied, thanks.
I note that the changelog entry says nothing about what component is
involved and what the effect of the bug is. This reduces its usefulness
for someone looking over the log and trying to see if a particular bug
is fixed.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-08-31 11:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-31 7:04 [PATCH] use __pa_symbol to calculate the address of a C symbol Glauber Costa
2009-08-31 11:24 ` Avi Kivity
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox