]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/x86/xen/setup.c
Merge tag 'stable/for-linus-3.16-rc1-tag' of git://git.kernel.org/pub/scm/linux/kerne...
[karo-tx-linux.git] / arch / x86 / xen / setup.c
index e366b98553761b040c556ef026e4a800dffc09d7..2e555163c2fe4f0b44f37289887539ab274adc1c 100644 (file)
@@ -536,10 +536,17 @@ char * __init xen_auto_xlated_memory_setup(void)
 static void __init fiddle_vdso(void)
 {
 #ifdef CONFIG_X86_32
+       /*
+        * This could be called before selected_vdso32 is initialized, so
+        * just fiddle with both possible images.  vdso_image_32_syscall
+        * can't be selected, since it only exists on 64-bit systems.
+        */
        u32 *mask;
-       mask = VDSO32_SYMBOL(&vdso32_int80_start, NOTE_MASK);
+       mask = vdso_image_32_int80.data +
+               vdso_image_32_int80.sym_VDSO32_NOTE_MASK;
        *mask |= 1 << VDSO_NOTE_NONEGSEG_BIT;
-       mask = VDSO32_SYMBOL(&vdso32_sysenter_start, NOTE_MASK);
+       mask = vdso_image_32_sysenter.data +
+               vdso_image_32_sysenter.sym_VDSO32_NOTE_MASK;
        *mask |= 1 << VDSO_NOTE_NONEGSEG_BIT;
 #endif
 }