summary refs log tree commit diff
path: root/arch/arc
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2019-05-14 14:45:44 -0700
committerVineet Gupta <vgupta@synopsys.com>2019-07-01 11:02:22 -0700
commitd0542c7eacd5b507fa53570b610706df122a2f37 (patch)
tree1f57c66310d844a5dbee8f577bad7b6dd0c12a01 /arch/arc
parent02c88d142ea6e64b0f81dcf3687a889d8a3556ba (diff)
downloadlinux-d0542c7eacd5b507fa53570b610706df122a2f37.tar.gz
ARC: mm: do_page_fault refactor #5: scoot no_context to end
This is different than the rest of signal handling stuff

No functional change

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc')
-rw-r--r--arch/arc/mm/fault.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/arch/arc/mm/fault.c b/arch/arc/mm/fault.c
index 4597b4886edd..b107e45cce94 100644
--- a/arch/arc/mm/fault.c
+++ b/arch/arc/mm/fault.c
@@ -198,20 +198,6 @@ bad_area:
 		return;
 	}
 
-no_context:
-	/* Are we prepared to handle this kernel fault?
-	 *
-	 * (The kernel has valid exception-points in the source
-	 *  when it accesses user-memory. When it fails in one
-	 *  of those points, we find it in a table and do a jump
-	 *  to some fixup code that loads an appropriate error
-	 *  code)
-	 */
-	if (fixup_exception(regs))
-		return;
-
-	die("Oops", regs, address);
-
 out_of_memory:
 	up_read(&mm->mmap_sem);
 
@@ -230,4 +216,11 @@ do_sigbus:
 
 	tsk->thread.fault_address = address;
 	force_sig_fault(SIGBUS, BUS_ADRERR, (void __user *)address, tsk);
+	return;
+
+no_context:
+	if (fixup_exception(regs))
+		return;
+
+	die("Oops", regs, address);
 }