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: | |||
| 154 | * the fault. | 154 | * the fault. | 
| 155 | */ | 155 | */ | 
| 156 | 156 | ||
| 157 | survive: | ||
| 158 | fault = handle_mm_fault(mm, vma, address, write ? FAULT_FLAG_WRITE : 0); | 157 | fault = handle_mm_fault(mm, vma, address, write ? FAULT_FLAG_WRITE : 0); | 
| 159 | #ifdef DEBUG | 158 | #ifdef DEBUG | 
| 160 | printk("handle_mm_fault returns %d\n",fault); | 159 | printk("handle_mm_fault returns %d\n",fault); | 
| @@ -180,15 +179,10 @@ good_area: | |||
| 180 | */ | 179 | */ | 
| 181 | out_of_memory: | 180 | out_of_memory: | 
| 182 | up_read(&mm->mmap_sem); | 181 | up_read(&mm->mmap_sem); | 
| 183 | if (is_global_init(current)) { | 182 | if (!user_mode(regs)) | 
| 184 | yield(); | 183 | goto no_context; | 
| 185 | down_read(&mm->mmap_sem); | 184 | pagefault_out_of_memory(); | 
| 186 | goto survive; | 185 | return 0; | 
| 187 | } | ||
| 188 | |||
| 189 | printk("VM: killing process %s\n", current->comm); | ||
| 190 | if (user_mode(regs)) | ||
| 191 | do_group_exit(SIGKILL); | ||
| 192 | 186 | ||
| 193 | no_context: | 187 | no_context: | 
| 194 | current->thread.signo = SIGBUS; | 188 | current->thread.signo = SIGBUS; | 
