aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/kernel/process.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-06-26 07:57:19 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-26 13:48:17 -0400
commit4d9bc79cd28b779610d9590b3a96a28a0f64a25a (patch)
tree83af4802b88318fe7951125bc663008a1adec62a /arch/x86_64/kernel/process.c
parent26a3c49cec96ffb9cfcc30dfa0cd05ccc25dcb3a (diff)
[PATCH] x86_64: Make sure is_compat_task works early
Previously it would only work in the first 32bit system call, not during early process setup. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/kernel/process.c')
-rw-r--r--arch/x86_64/kernel/process.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c
index 52c03f6c7731..dcb77b462348 100644
--- a/arch/x86_64/kernel/process.c
+++ b/arch/x86_64/kernel/process.c
@@ -364,8 +364,11 @@ void flush_thread(void)
364 struct task_struct *tsk = current; 364 struct task_struct *tsk = current;
365 struct thread_info *t = current_thread_info(); 365 struct thread_info *t = current_thread_info();
366 366
367 if (t->flags & _TIF_ABI_PENDING) 367 if (t->flags & _TIF_ABI_PENDING) {
368 t->flags ^= (_TIF_ABI_PENDING | _TIF_IA32); 368 t->flags ^= (_TIF_ABI_PENDING | _TIF_IA32);
369 if (t->flags & _TIF_IA32)
370 current_thread_info()->status |= TS_COMPAT;
371 }
369 372
370 tsk->thread.debugreg0 = 0; 373 tsk->thread.debugreg0 = 0;
371 tsk->thread.debugreg1 = 0; 374 tsk->thread.debugreg1 = 0;