x86/vdso: Remove runtime 32-bit vDSO selection
32-bit userspace will now always see the same vDSO, which is exactly what used to be the int80 vDSO. Subsequent patches will clean it up and make it support SYSENTER and SYSCALL using alternatives. Signed-off-by: Andy Lutomirski <luto@kernel.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Link: http://lkml.kernel.org/r/e7e6b3526fa442502e6125fe69486aab50813c32.1444091584.git.luto@kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Šī revīzija ir iekļauta:

revīziju iesūtīja
Ingo Molnar

vecāks
b611acf473
revīzija
0a6d1fa0d2
@@ -965,17 +965,8 @@ 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 = vdso_image_32_int80.data +
|
||||
vdso_image_32_int80.sym_VDSO32_NOTE_MASK;
|
||||
*mask |= 1 << VDSO_NOTE_NONEGSEG_BIT;
|
||||
mask = vdso_image_32_sysenter.data +
|
||||
vdso_image_32_sysenter.sym_VDSO32_NOTE_MASK;
|
||||
u32 *mask = vdso_image_32.data +
|
||||
vdso_image_32.sym_VDSO32_NOTE_MASK;
|
||||
*mask |= 1 << VDSO_NOTE_NONEGSEG_BIT;
|
||||
#endif
|
||||
}
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user