From bf2fcc6fdfe4f4e92bb74f062c0a1be189f3a561 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Wed, 11 Jan 2006 22:44:06 +0100 Subject: [PATCH] x86_64: Implement is_compat_task the right way By setting a flag during a 32bit system call only Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds --- include/asm-x86_64/compat.h | 5 +++++ include/asm-x86_64/thread_info.h | 1 + 2 files changed, 6 insertions(+) (limited to 'include/asm-x86_64') diff --git a/include/asm-x86_64/compat.h b/include/asm-x86_64/compat.h index f0155c38f63..3863a7da372 100644 --- a/include/asm-x86_64/compat.h +++ b/include/asm-x86_64/compat.h @@ -202,4 +202,9 @@ static __inline__ void __user *compat_alloc_user_space(long len) return (void __user *)regs->rsp - len; } +static inline int is_compat_task(void) +{ + return current_thread_info()->status & TS_COMPAT; +} + #endif /* _ASM_X86_64_COMPAT_H */ diff --git a/include/asm-x86_64/thread_info.h b/include/asm-x86_64/thread_info.h index 08eb6e4f373..eb7c5fda187 100644 --- a/include/asm-x86_64/thread_info.h +++ b/include/asm-x86_64/thread_info.h @@ -138,6 +138,7 @@ static inline struct thread_info *stack_thread_info(void) * have to worry about atomic accesses. */ #define TS_USEDFPU 0x0001 /* FPU was used by this task this quantum (SMP) */ +#define TS_COMPAT 0x0002 /* 32bit syscall active */ #endif /* __KERNEL__ */ -- cgit v1.2.3