FRV: Prevent syscall exit tracing and notify_resume at end of kernel exceptions

Move the test for kernel mode processing from do_signal() into entry.S to also
prevent system call exit tracing and userspace resumption notification handling
happening when returning from kernel exceptions.

Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
David Howells
2012-05-01 19:44:14 +01:00
committed by Al Viro
orang tua efee984c27
melakukan 137c3c469f
2 mengubah file dengan 3 tambahan dan 11 penghapusan

Melihat File

@@ -474,18 +474,8 @@ static void do_signal(void)
{
struct k_sigaction ka;
siginfo_t info;
sigset_t *oldset;
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(__frame))
return;
signr = get_signal_to_deliver(&info, &ka, __frame, NULL);
if (signr > 0) {
handle_signal(signr, &info, &ka);