diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-19 14:41:52 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-19 14:41:52 -0400 |
| commit | cf77e988ddfc7f047ac1ddc72cadb5eee7e09293 (patch) | |
| tree | d4870b7290ea50fe01ed4d56febad449f1206172 /arch/ia64/mm/fault.c | |
| parent | 1d3c6ff44ad4b5f113602e153026a338f0f9b3ff (diff) | |
| parent | 2a2ae2426bba944ce6dbcad35e1580df57aafcf1 (diff) | |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] Drop duplicated "config IOMMU_HELPER"
[IA64] invoke oom-killer from page fault
[IA64] use __ratelimit
[IA64] Use set_cpus_allowed_ptr
[IA64] Use set_cpus_allowed_ptr
[IA64] arch/ia64/hp/common/sba_iommu.c: Rename dev_info to adi
[IA64] removing redundant ifdef
Diffstat (limited to 'arch/ia64/mm/fault.c')
| -rw-r--r-- | arch/ia64/mm/fault.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c index 19261a99e623..0799fea4c588 100644 --- a/arch/ia64/mm/fault.c +++ b/arch/ia64/mm/fault.c | |||
| @@ -148,7 +148,6 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re | |||
| 148 | if ((vma->vm_flags & mask) != mask) | 148 | if ((vma->vm_flags & mask) != mask) |
| 149 | goto bad_area; | 149 | goto bad_area; |
| 150 | 150 | ||
| 151 | survive: | ||
| 152 | /* | 151 | /* |
| 153 | * If for any reason at all we couldn't handle the fault, make | 152 | * If for any reason at all we couldn't handle the fault, make |
| 154 | * sure we exit gracefully rather than endlessly redo the | 153 | * sure we exit gracefully rather than endlessly redo the |
| @@ -276,13 +275,7 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re | |||
| 276 | 275 | ||
| 277 | out_of_memory: | 276 | out_of_memory: |
| 278 | up_read(&mm->mmap_sem); | 277 | up_read(&mm->mmap_sem); |
| 279 | if (is_global_init(current)) { | 278 | if (!user_mode(regs)) |
| 280 | yield(); | 279 | goto no_context; |
| 281 | down_read(&mm->mmap_sem); | 280 | pagefault_out_of_memory(); |
| 282 | goto survive; | ||
| 283 | } | ||
| 284 | printk(KERN_CRIT "VM: killing process %s\n", current->comm); | ||
| 285 | if (user_mode(regs)) | ||
| 286 | do_group_exit(SIGKILL); | ||
| 287 | goto no_context; | ||
| 288 | } | 281 | } |
