Re: [PATCH 3.8 stable] x86/kvm: Fix pvclock vsyscall fixmap

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 06, 2013 at 05:55:53PM +0200, Gleb Natapov wrote:
> From: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
> 
> 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
> 
> Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
> (cherry picked from commit 3d2a80a230250c2534ce5b17503670adaf1d7fff)
> ---
>  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.7.10.4

ACK
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]