diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-17 16:54:29 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-17 16:54:29 -0400 |
| commit | ba2e1c5f25a99dec3873745031ad23ce3fd79bff (patch) | |
| tree | ebcc8e9b0f395033e8ba1db8e30fb6ea78edc442 /arch/m68k/mm/fault.c | |
| parent | 7d32c0aca4fbd0319c860d12af5fae3e88c760e6 (diff) | |
| parent | 92183b346f02773dae09182c65f16b013f295d80 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
m68k: amiga - Floppy platform device conversion
m68k: amiga - Sound platform device conversion
m68k: amiga - Frame buffer platform device conversion
m68k: amiga - Zorro host bridge platform device conversion
m68k: amiga - Zorro bus modalias support
platform: Make platform resource input parameters const
m68k: invoke oom-killer from page fault
serial167: Kill unused variables
m68k: Implement generic_find_next_{zero_,}le_bit()
m68k: hp300 - Checkpatch cleanup
m68k: Remove trailing spaces in messages
m68k: Simplify param.h by using <asm-generic/param.h>
m68k: Remove BKL from rtc implementations
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; |
