aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm/tlbflush_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/mm/tlbflush_64.c')
-rw-r--r--arch/sh/mm/tlbflush_64.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/arch/sh/mm/tlbflush_64.c b/arch/sh/mm/tlbflush_64.c
index 706da1d3a67..03db41cc126 100644
--- a/arch/sh/mm/tlbflush_64.c
+++ b/arch/sh/mm/tlbflush_64.c
@@ -189,7 +189,6 @@ good_area:
189 * make sure we exit gracefully rather than endlessly redo 189 * make sure we exit gracefully rather than endlessly redo
190 * the fault. 190 * the fault.
191 */ 191 */
192survive:
193 fault = handle_mm_fault(mm, vma, address, writeaccess ? FAULT_FLAG_WRITE : 0); 192 fault = handle_mm_fault(mm, vma, address, writeaccess ? FAULT_FLAG_WRITE : 0);
194 if (unlikely(fault & VM_FAULT_ERROR)) { 193 if (unlikely(fault & VM_FAULT_ERROR)) {
195 if (fault & VM_FAULT_OOM) 194 if (fault & VM_FAULT_OOM)
@@ -294,22 +293,11 @@ no_context:
294 * us unable to handle the page fault gracefully. 293 * us unable to handle the page fault gracefully.
295 */ 294 */
296out_of_memory: 295out_of_memory:
297 if (is_global_init(current)) {
298 panic("INIT out of memory\n");
299 yield();
300 goto survive;
301 }
302 printk("fault:Out of memory\n");
303 up_read(&mm->mmap_sem); 296 up_read(&mm->mmap_sem);
304 if (is_global_init(current)) { 297 if (!user_mode(regs))
305 yield(); 298 goto no_context;
306 down_read(&mm->mmap_sem); 299 pagefault_out_of_memory();
307 goto survive; 300 return;
308 }
309 printk("VM: killing process %s\n", tsk->comm);
310 if (user_mode(regs))
311 do_group_exit(SIGKILL);
312 goto no_context;
313 301
314do_sigbus: 302do_sigbus:
315 printk("fault:Do sigbus\n"); 303 printk("fault:Do sigbus\n");