summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2010-09-02 22:59:58 +0200
committerRalf Baechle <ralf@linux-mips.org>2010-10-04 18:33:55 +0100
commit244599469f4c5860c8a4ae8fa8c6907a10caeccf (patch)
treea71b3e640bf007cb0899081b780fc6b87e377589
parent5707bf6bcecd85d01ea22e8b28cf66170068475f (diff)
downloadlinux-244599469f4c5860c8a4ae8fa8c6907a10caeccf.tar.gz
linux-244599469f4c5860c8a4ae8fa8c6907a10caeccf.tar.bz2
linux-244599469f4c5860c8a4ae8fa8c6907a10caeccf.zip
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.h3
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)