mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 04:23:35 +02:00
s390/mm: Cleanup fault error handling
Combine the two VM_FAULT_ERROR checks in do_exception() and move them to the exit path, similar to x86. Also remove a random blank line. Suggested-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com> Reviewed-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
parent
57d1da4fd8
commit
a5600f05d3
|
|
@ -293,14 +293,11 @@ static void do_exception(struct pt_regs *regs, int access)
|
|||
vma_end_read(vma);
|
||||
if (!(fault & VM_FAULT_RETRY)) {
|
||||
count_vm_vma_lock_event(VMA_LOCK_SUCCESS);
|
||||
if (unlikely(fault & VM_FAULT_ERROR))
|
||||
goto error;
|
||||
return;
|
||||
goto done;
|
||||
}
|
||||
count_vm_vma_lock_event(VMA_LOCK_RETRY);
|
||||
if (fault & VM_FAULT_MAJOR)
|
||||
flags |= FAULT_FLAG_TRIED;
|
||||
|
||||
/* Quick path to respond to signals */
|
||||
if (fault_signal_pending(fault, regs)) {
|
||||
if (!user_mode(regs))
|
||||
|
|
@ -323,17 +320,14 @@ static void do_exception(struct pt_regs *regs, int access)
|
|||
/* The fault is fully completed (including releasing mmap lock) */
|
||||
if (fault & VM_FAULT_COMPLETED)
|
||||
return;
|
||||
if (unlikely(fault & VM_FAULT_ERROR)) {
|
||||
mmap_read_unlock(mm);
|
||||
goto error;
|
||||
}
|
||||
if (fault & VM_FAULT_RETRY) {
|
||||
flags |= FAULT_FLAG_TRIED;
|
||||
goto retry;
|
||||
}
|
||||
mmap_read_unlock(mm);
|
||||
return;
|
||||
error:
|
||||
done:
|
||||
if (!(fault & VM_FAULT_ERROR))
|
||||
return;
|
||||
if (fault & VM_FAULT_OOM) {
|
||||
if (!user_mode(regs))
|
||||
handle_fault_error_nolock(regs, 0);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user