Messages in this thread Patch in this message | | | From | Gabriel Krisman Bertazi <> | Subject | [PATCH 1/6] arch: x86: Don't use TIF flags for mm context | Date | Tue, 28 Jul 2020 16:22:24 -0400 |
| |
TIF_IA32 and TIF_X32 are going away. Create a dedicated enum for the MM context.
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> --- arch/x86/include/asm/mmu_context.h | 2 +- arch/x86/include/asm/thread_info.h | 6 ++++++ arch/x86/kernel/process_64.c | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/arch/x86/include/asm/mmu_context.h b/arch/x86/include/asm/mmu_context.h index 47562147e70b..055ee5d66b41 100644 --- a/arch/x86/include/asm/mmu_context.h +++ b/arch/x86/include/asm/mmu_context.h @@ -178,7 +178,7 @@ static inline void arch_exit_mmap(struct mm_struct *mm) static inline bool is_64bit_mm(struct mm_struct *mm) { return !IS_ENABLED(CONFIG_IA32_EMULATION) || - !(mm->context.ia32_compat == TIF_IA32); + !(mm->context.ia32_compat == PSABI_IA32); } #else static inline bool is_64bit_mm(struct mm_struct *mm) diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h index 267701ae3d86..934aa15b20f2 100644 --- a/arch/x86/include/asm/thread_info.h +++ b/arch/x86/include/asm/thread_info.h @@ -53,6 +53,12 @@ struct task_struct; #include <asm/cpufeature.h> #include <linux/atomic.h> +enum { + PSABI_IA64 = 0, + PSABI_IA32 = 1, + PSABI_X32 = 2 +}; + struct thread_info { unsigned long flags; /* low level flags */ u32 status; /* thread synchronous flags */ diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 9a97415b2139..4452a35402f9 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -557,7 +557,7 @@ static void __set_personality_x32(void) clear_thread_flag(TIF_IA32); set_thread_flag(TIF_X32); if (current->mm) - current->mm->context.ia32_compat = TIF_X32; + current->mm->context.ia32_compat = PSABI_X32; current->personality &= ~READ_IMPLIES_EXEC; /* * in_32bit_syscall() uses the presence of the x32 syscall bit @@ -578,7 +578,7 @@ static void __set_personality_ia32(void) set_thread_flag(TIF_IA32); clear_thread_flag(TIF_X32); if (current->mm) - current->mm->context.ia32_compat = TIF_IA32; + current->mm->context.ia32_compat = PSABI_IA32; current->personality |= force_personality32; /* Prepare the first "return" to user space */ task_pt_regs(current)->orig_ax = __NR_ia32_execve; -- 2.27.0
| |