diff options
Diffstat (limited to 'arch/x86/include/asm/syscall.h')
| -rw-r--r-- | arch/x86/include/asm/syscall.h | 5 | 
1 files changed, 1 insertions, 4 deletions
| diff --git a/arch/x86/include/asm/syscall.h b/arch/x86/include/asm/syscall.h index 999b7cd2e..4e23dd15c 100644 --- a/arch/x86/include/asm/syscall.h +++ b/arch/x86/include/asm/syscall.h @@ -60,7 +60,7 @@ static inline long syscall_get_error(struct task_struct *task,  	 * TS_COMPAT is set for 32-bit syscall entries and then  	 * remains set until we return to user mode.  	 */ -	if (task_thread_info(task)->status & TS_COMPAT) +	if (task_thread_info(task)->status & (TS_COMPAT|TS_I386_REGS_POKED))  		/*  		 * Sign-extend the value so (int)-EFOO becomes (long)-EFOO  		 * and will match correctly in comparisons. @@ -239,9 +239,6 @@ static inline int syscall_get_arch(void)  	 * TS_COMPAT is set for 32-bit syscall entry and then  	 * remains set until we return to user mode.  	 * -	 * TIF_IA32 tasks should always have TS_COMPAT set at -	 * system call time. -	 *  	 * x32 tasks should be considered AUDIT_ARCH_X86_64.  	 */  	if (task_thread_info(current)->status & TS_COMPAT) | 
