diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2010-09-02 22:59:58 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-10-04 18:33:55 +0100 |
commit | 244599469f4c5860c8a4ae8fa8c6907a10caeccf (patch) | |
tree | a71b3e640bf007cb0899081b780fc6b87e377589 | |
parent | 5707bf6bcecd85d01ea22e8b28cf66170068475f (diff) | |
download | linux-244599469f4c5860c8a4ae8fa8c6907a10caeccf.tar.bz2 |
MIPS: Audit: Fix hang in entry.S.
_TIF_WORK_MASK false had _TIF_SYSCALL_AUDIT set. If a thread's
_TIF_SYSCALL_AUDIT is ever set this will lead to an endless loop on the
way out from a syscall.
Currently this is only a theoretic bug as init/Kconfig doesn't allow
AUDIT_SYSCALL to be enabled for MIPS.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/include/asm/thread_info.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/mips/include/asm/thread_info.h b/arch/mips/include/asm/thread_info.h index 2376f2e06e47..70df9c0d3c5b 100644 --- a/arch/mips/include/asm/thread_info.h +++ b/arch/mips/include/asm/thread_info.h @@ -146,7 +146,8 @@ register struct thread_info *__current_thread_info __asm__("$28"); #define _TIF_LOAD_WATCH (1<<TIF_LOAD_WATCH) /* work to do on interrupt/exception return */ -#define _TIF_WORK_MASK (0x0000ffef & ~_TIF_SECCOMP) +#define _TIF_WORK_MASK (0x0000ffef & \ + ~(_TIF_SECCOMP | _TIF_SYSCALL_AUDIT)) /* work to do on any return to u-space */ #define _TIF_ALLWORK_MASK (0x8000ffff & ~_TIF_SECCOMP) |