ARC: mm: do_page_fault refactor #6: error handlers to use same pattern
- up_read - if !user_mode - whatever error handling Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
+10
-11
@@ -191,22 +191,21 @@ retry:
|
|||||||
bad_area:
|
bad_area:
|
||||||
up_read(&mm->mmap_sem);
|
up_read(&mm->mmap_sem);
|
||||||
|
|
||||||
/* User mode accesses just cause a SIGSEGV */
|
if (!user_mode(regs))
|
||||||
if (user_mode(regs)) {
|
goto no_context;
|
||||||
tsk->thread.fault_address = address;
|
|
||||||
force_sig_fault(SIGSEGV, si_code, (void __user *)address, tsk);
|
tsk->thread.fault_address = address;
|
||||||
return;
|
force_sig_fault(SIGSEGV, si_code, (void __user *)address, tsk);
|
||||||
}
|
return;
|
||||||
|
|
||||||
out_of_memory:
|
out_of_memory:
|
||||||
up_read(&mm->mmap_sem);
|
up_read(&mm->mmap_sem);
|
||||||
|
|
||||||
if (user_mode(regs)) {
|
if (!user_mode(regs))
|
||||||
pagefault_out_of_memory();
|
goto no_context;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
goto no_context;
|
pagefault_out_of_memory();
|
||||||
|
return;
|
||||||
|
|
||||||
do_sigbus:
|
do_sigbus:
|
||||||
up_read(&mm->mmap_sem);
|
up_read(&mm->mmap_sem);
|
||||||
|
|||||||
Reference in New Issue
Block a user