|
@@ -116,7 +116,6 @@ static inline struct thread_info *current_thread_info(void)
|
|
|
#define TIF_SECCOMP 10 /* secure computing */
|
|
|
#define TIF_RESTOREALL 11 /* Restore all regs (implies NOERROR) */
|
|
|
#define TIF_NOERROR 12 /* Force successful syscall return */
|
|
|
-#define TIF_RESTORE_SIGMASK 13 /* Restore signal mask in do_signal */
|
|
|
#define TIF_FREEZE 14 /* Freezing for suspend */
|
|
|
#define TIF_RUNLATCH 15 /* Is the runlatch enabled? */
|
|
|
#define TIF_ABI_PENDING 16 /* 32/64 bit switch needed */
|
|
@@ -134,21 +133,31 @@ static inline struct thread_info *current_thread_info(void)
|
|
|
#define _TIF_SECCOMP (1<<TIF_SECCOMP)
|
|
|
#define _TIF_RESTOREALL (1<<TIF_RESTOREALL)
|
|
|
#define _TIF_NOERROR (1<<TIF_NOERROR)
|
|
|
-#define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK)
|
|
|
#define _TIF_FREEZE (1<<TIF_FREEZE)
|
|
|
#define _TIF_RUNLATCH (1<<TIF_RUNLATCH)
|
|
|
#define _TIF_ABI_PENDING (1<<TIF_ABI_PENDING)
|
|
|
#define _TIF_SYSCALL_T_OR_A (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP)
|
|
|
|
|
|
-#define _TIF_USER_WORK_MASK ( _TIF_SIGPENDING | \
|
|
|
- _TIF_NEED_RESCHED | _TIF_RESTORE_SIGMASK)
|
|
|
+#define _TIF_USER_WORK_MASK (_TIF_SIGPENDING | _TIF_NEED_RESCHED)
|
|
|
#define _TIF_PERSYSCALL_MASK (_TIF_RESTOREALL|_TIF_NOERROR)
|
|
|
|
|
|
/* Bits in local_flags */
|
|
|
/* Don't move TLF_NAPPING without adjusting the code in entry_32.S */
|
|
|
#define TLF_NAPPING 0 /* idle thread enabled NAP mode */
|
|
|
+#define TLF_RESTORE_SIGMASK 1 /* Restore signal mask in do_signal */
|
|
|
|
|
|
#define _TLF_NAPPING (1 << TLF_NAPPING)
|
|
|
+#define _TLF_RESTORE_SIGMASK (1 << TLF_RESTORE_SIGMASK)
|
|
|
+
|
|
|
+#ifndef __ASSEMBLY__
|
|
|
+#define HAVE_SET_RESTORE_SIGMASK 1
|
|
|
+static inline void set_restore_sigmask(void)
|
|
|
+{
|
|
|
+ struct thread_info *ti = current_thread_info();
|
|
|
+ ti->local_flags |= _TLF_RESTORE_SIGMASK;
|
|
|
+ set_bit(TIF_SIGPENDING, &ti->flags);
|
|
|
+}
|
|
|
+#endif /* !__ASSEMBLY__ */
|
|
|
|
|
|
#endif /* __KERNEL__ */
|
|
|
|