[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <1361996908-11064-1-git-send-email-peter@hurleysoftware.com>
Date: Wed, 27 Feb 2013 15:28:28 -0500
From: Peter Hurley <peter@...leysoftware.com>
To: kvm@...r.kernel.org
Cc: Marcelo Tosatti <mtosatti@...hat.com>,
linux-kernel@...r.kernel.org,
"H. Peter Anvin" <hpa@...ux.intel.com>,
Gleb Natapov <gleb@...hat.com>,
Peter Hurley <peter@...leysoftware.com>
Subject: [PATCH] x86/kvm: Fix pvclock vsyscall fixmap
The physical memory fixmapped for the pvclock clock_gettime vsyscall
was allocated, and thus is not a kernel symbol. __pa() is the proper
method to use in this case.
Fixes the crash below when booting a next-20130204+ smp guest on a
3.8-rc5+ KVM host.
[ 0.666410] udevd[97]: starting version 175
[ 0.674043] udevd[97]: udevd:[97]: segfault at ffffffffff5fd020
ip 00007fff069e277f sp 00007fff068c9ef8 error d
Signed-off-by: Peter Hurley <peter@...leysoftware.com>
---
arch/x86/kernel/pvclock.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/pvclock.c b/arch/x86/kernel/pvclock.c
index 85c3959..2cb9470 100644
--- a/arch/x86/kernel/pvclock.c
+++ b/arch/x86/kernel/pvclock.c
@@ -185,7 +185,7 @@ int __init pvclock_init_vsyscall(struct pvclock_vsyscall_time_info *i,
for (idx = 0; idx <= (PVCLOCK_FIXMAP_END-PVCLOCK_FIXMAP_BEGIN); idx++) {
__set_fixmap(PVCLOCK_FIXMAP_BEGIN + idx,
- __pa_symbol(i) + (idx*PAGE_SIZE),
+ __pa(i) + (idx*PAGE_SIZE),
PAGE_KERNEL_VVAR);
}
--
1.8.1.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists