diff options
Diffstat (limited to 'arch/m68k/mm/fault.c')
| -rw-r--r-- | arch/m68k/mm/fault.c | 14 | 
1 files changed, 4 insertions, 10 deletions
| diff --git a/arch/m68k/mm/fault.c b/arch/m68k/mm/fault.c index d0e35cf99fc6..a96394a0333d 100644 --- a/arch/m68k/mm/fault.c +++ b/arch/m68k/mm/fault.c @@ -154,7 +154,6 @@ good_area:  	 * the fault.  	 */ - survive:  	fault = handle_mm_fault(mm, vma, address, write ? FAULT_FLAG_WRITE : 0);  #ifdef DEBUG  	printk("handle_mm_fault returns %d\n",fault); @@ -180,15 +179,10 @@ good_area:   */  out_of_memory:  	up_read(&mm->mmap_sem); -	if (is_global_init(current)) { -		yield(); -		down_read(&mm->mmap_sem); -		goto survive; -	} - -	printk("VM: killing process %s\n", current->comm); -	if (user_mode(regs)) -		do_group_exit(SIGKILL); +	if (!user_mode(regs)) +		goto no_context; +	pagefault_out_of_memory(); +	return 0;  no_context:  	current->thread.signo = SIGBUS; | 
