x86/elf: Use e_machine to select start_thread for x32
authorGabriel Krisman Bertazi <krisman@collabora.com>
Sun, 4 Oct 2020 03:25:32 +0000 (23:25 -0400)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 26 Oct 2020 12:46:46 +0000 (13:46 +0100)
commit2424b14605c71a7187c14edd525044eb36bdea47
treeba9a94d548fafade96dddbe8bf64c29ebd7f2332
parentbc3d7bf61a9eaecccc84dc2ecc2a9a3fa4f5ec47
x86/elf: Use e_machine to select start_thread for x32

Since TIF_X32 is going away, avoid using it to find the ELF type in
compat_start_thread.

According to SysV AMD64 ABI Draft, an AMD64 ELF object using ILP32 must
have ELFCLASS32 with (E_MACHINE == EM_X86_64), so use that ELF field to
differentiate a x32 object from a IA32 object when executing start_thread()
in compat mode.

Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Andy Lutomirski <luto@kernel.org>
Link: https://lore.kernel.org/r/20201004032536.1229030-7-krisman@collabora.com
arch/x86/include/asm/elf.h
arch/x86/kernel/process_64.c