openrisc: add support for TIF_NOTIFY_SIGNAL
authorJens Axboe <axboe@kernel.dk>
Fri, 9 Oct 2020 21:24:46 +0000 (15:24 -0600)
committerJens Axboe <axboe@kernel.dk>
Mon, 9 Nov 2020 15:16:55 +0000 (08:16 -0700)
Wire up TIF_NOTIFY_SIGNAL handling for openrisc.

Cc: openrisc@lists.librecores.org
Acked-by: Stafford Horne <shorne@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
arch/openrisc/include/asm/thread_info.h
arch/openrisc/kernel/signal.c

index 9afe68b..4f9d2a2 100644 (file)
@@ -98,6 +98,7 @@ register struct thread_info *current_thread_info_reg asm("r10");
 #define TIF_SINGLESTEP         4       /* restore singlestep on return to user
                                         * mode
                                         */
+#define TIF_NOTIFY_SIGNAL      5       /* signal notifications exist */
 #define TIF_SYSCALL_TRACEPOINT  8       /* for ftrace syscall instrumentation */
 #define TIF_RESTORE_SIGMASK     9
 #define TIF_POLLING_NRFLAG     16      /* true if poll_idle() is polling                                                * TIF_NEED_RESCHED
@@ -109,6 +110,7 @@ register struct thread_info *current_thread_info_reg asm("r10");
 #define _TIF_SIGPENDING                (1<<TIF_SIGPENDING)
 #define _TIF_NEED_RESCHED      (1<<TIF_NEED_RESCHED)
 #define _TIF_SINGLESTEP                (1<<TIF_SINGLESTEP)
+#define _TIF_NOTIFY_SIGNAL     (1<<TIF_NOTIFY_SIGNAL)
 #define _TIF_POLLING_NRFLAG    (1<<TIF_POLLING_NRFLAG)
 
 
index af66f96..1ebcff2 100644 (file)
@@ -299,7 +299,7 @@ do_work_pending(struct pt_regs *regs, unsigned int thread_flags, int syscall)
                        if (unlikely(!user_mode(regs)))
                                return 0;
                        local_irq_enable();
-                       if (thread_flags & _TIF_SIGPENDING) {
+                       if (thread_flags & (_TIF_SIGPENDING|_TIF_NOTIFY_SIGNAL)) {
                                int restart = do_signal(regs, syscall);
                                if (unlikely(restart)) {
                                        /*