diff options
Diffstat (limited to 'arch/x86/kernel/process.c')
-rw-r--r-- | arch/x86/kernel/process.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index c6ee241c8a98..c9b3522b6b46 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c | |||
@@ -115,18 +115,6 @@ void flush_thread(void) | |||
115 | { | 115 | { |
116 | struct task_struct *tsk = current; | 116 | struct task_struct *tsk = current; |
117 | 117 | ||
118 | #ifdef CONFIG_X86_64 | ||
119 | if (test_tsk_thread_flag(tsk, TIF_ABI_PENDING)) { | ||
120 | clear_tsk_thread_flag(tsk, TIF_ABI_PENDING); | ||
121 | if (test_tsk_thread_flag(tsk, TIF_IA32)) { | ||
122 | clear_tsk_thread_flag(tsk, TIF_IA32); | ||
123 | } else { | ||
124 | set_tsk_thread_flag(tsk, TIF_IA32); | ||
125 | current_thread_info()->status |= TS_COMPAT; | ||
126 | } | ||
127 | } | ||
128 | #endif | ||
129 | |||
130 | flush_ptrace_hw_breakpoint(tsk); | 118 | flush_ptrace_hw_breakpoint(tsk); |
131 | memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array)); | 119 | memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array)); |
132 | /* | 120 | /* |
@@ -288,6 +276,8 @@ int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags) | |||
288 | regs.es = __USER_DS; | 276 | regs.es = __USER_DS; |
289 | regs.fs = __KERNEL_PERCPU; | 277 | regs.fs = __KERNEL_PERCPU; |
290 | regs.gs = __KERNEL_STACK_CANARY; | 278 | regs.gs = __KERNEL_STACK_CANARY; |
279 | #else | ||
280 | regs.ss = __KERNEL_DS; | ||
291 | #endif | 281 | #endif |
292 | 282 | ||
293 | regs.orig_ax = -1; | 283 | regs.orig_ax = -1; |