Commit 0a1c0c0a authored by Jens Axboe's avatar Jens Axboe Committed by sanglipeng
Browse files

microblaze: add support for TIF_NOTIFY_SIGNAL

stable inclusion
from stable-v5.10.162
commit 02d383a59cbf8b7292947895604a2f9103f4f862
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I7P7OH

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=02d383a59cbf8b7292947895604a2f9103f4f862



--------------------------------

[ Upstream commit f4ea089e ]

Wire up TIF_NOTIFY_SIGNAL handling for microblaze.

Acked-by: default avatarMichal Simek <michal.simek@xilinx.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarsanglipeng <sanglipeng1@jd.com>
parent 42a08b5b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -107,6 +107,7 @@ static inline struct thread_info *current_thread_info(void)
#define TIF_NEED_RESCHED	3 /* rescheduling necessary */
/* restore singlestep on return to user mode */
#define TIF_SINGLESTEP		4
#define TIF_NOTIFY_SIGNAL	5	/* signal notifications exist */
#define TIF_MEMDIE		6	/* is terminating due to OOM killer */
#define TIF_SYSCALL_AUDIT	9       /* syscall auditing active */
#define TIF_SECCOMP		10      /* secure computing */
@@ -119,6 +120,7 @@ static inline struct thread_info *current_thread_info(void)
#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)
#define _TIF_SYSCALL_AUDIT	(1 << TIF_SYSCALL_AUDIT)
#define _TIF_SECCOMP		(1 << TIF_SECCOMP)
+2 −1
Original line number Diff line number Diff line
@@ -313,7 +313,8 @@ static void do_signal(struct pt_regs *regs, int in_syscall)

asmlinkage void do_notify_resume(struct pt_regs *regs, int in_syscall)
{
	if (test_thread_flag(TIF_SIGPENDING))
	if (test_thread_flag(TIF_SIGPENDING) ||
	    test_thread_flag(TIF_NOTIFY_SIGNAL))
		do_signal(regs, in_syscall);

	if (test_thread_flag(TIF_NOTIFY_RESUME))