summaryrefslogtreecommitdiffstats
path: root/arch/arc
diff options
context:
space:
mode:
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);
}