summaryrefslogtreecommitdiffstats
path: root/arch/arc/mm/fault.c
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2019-05-14 23:45:44 +0200
committerVineet Gupta <vgupta@synopsys.com>2019-07-01 20:02:22 +0200
commitd0542c7eacd5b507fa53570b610706df122a2f37 (patch)
tree1f57c66310d844a5dbee8f577bad7b6dd0c12a01 /arch/arc/mm/fault.c
parentARC: mm: do_page_fault refactor #4: consolidate retry related logic (diff)
downloadlinux-d0542c7eacd5b507fa53570b610706df122a2f37.tar.xz
linux-d0542c7eacd5b507fa53570b610706df122a2f37.zip
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/mm/fault.c')
-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);
}