Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f76f3308 authored by Al Viro's avatar Al Viro Committed by Ralf Baechle
Browse files

MIPS: Prevent hitting do_notify_resume() with !user_mode(regs).



Too late to do anything there...

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent e376fdf4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -167,6 +167,9 @@ work_notifysig: # deal with pending signals and
FEXPORT(syscall_exit_work_partial)
	SAVE_STATIC
syscall_exit_work:
	LONG_L	t0, PT_STATUS(sp)		# returning to kernel mode?
	andi	t0, t0, KU_USER
	beqz	t0, resume_kernel
	li	t0, _TIF_WORK_SYSCALL_EXIT
	and	t0, a2			# a2 is preloaded with TI_FLAGS
	beqz	t0, work_pending	# trace bit set?
+0 −8
Original line number Diff line number Diff line
@@ -560,14 +560,6 @@ static void do_signal(struct pt_regs *regs)
	siginfo_t info;
	int signr;

	/*
	 * We want the common case to go fast, which is why we may in certain
	 * cases get here from kernel mode. Just return without doing anything
	 * if so.
	 */
	if (!user_mode(regs))
		return;

	signr = get_signal_to_deliver(&info, &ka, regs, NULL);
	if (signr > 0) {
		/* Whee!  Actually deliver the signal.  */