diff options
| author | Andi Kleen <ak@suse.de> | 2006-06-26 07:57:19 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-26 13:48:17 -0400 |
| commit | 4d9bc79cd28b779610d9590b3a96a28a0f64a25a (patch) | |
| tree | 83af4802b88318fe7951125bc663008a1adec62a | |
| parent | 26a3c49cec96ffb9cfcc30dfa0cd05ccc25dcb3a (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>
| -rw-r--r-- | arch/x86_64/kernel/process.c | 5 |
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; |
