x86/lguest: Use __pa_symbol instead of __pa on C visible symbols
authorAlexander Duyck <alexander.h.duyck@intel.com>
Fri, 16 Nov 2012 21:58:12 +0000 (13:58 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Sat, 17 Nov 2012 02:11:45 +0000 (18:11 -0800)
The function lguest_write_cr3 is using __pa to convert swapper_pg_dir and
initial_page_table from virtual addresses to physical.  The correct function
to use for these values is __pa_symbol since they are C visible symbols.

Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Link: http://lkml.kernel.org/r/20121116215748.8521.83556.stgit@ahduyck-cp1.jf.intel.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/lguest/boot.c

index 642d8805bc1bb967f03715d3585a9cd0fa99e5bb..139dd353c2f21282cdb07c9f875823669c54013a 100644 (file)
@@ -552,7 +552,8 @@ static void lguest_write_cr3(unsigned long cr3)
        current_cr3 = cr3;
 
        /* These two page tables are simple, linear, and used during boot */
-       if (cr3 != __pa(swapper_pg_dir) && cr3 != __pa(initial_page_table))
+       if (cr3 != __pa_symbol(swapper_pg_dir) &&
+           cr3 != __pa_symbol(initial_page_table))
                cr3_changed = true;
 }