diff options
Diffstat (limited to 'kernel/fork.c')
| -rw-r--r-- | kernel/fork.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 92870be50bba..9440d61b925c 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
| @@ -440,6 +440,14 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, | |||
| 440 | continue; | 440 | continue; |
| 441 | } | 441 | } |
| 442 | charge = 0; | 442 | charge = 0; |
| 443 | /* | ||
| 444 | * Don't duplicate many vmas if we've been oom-killed (for | ||
| 445 | * example) | ||
| 446 | */ | ||
| 447 | if (fatal_signal_pending(current)) { | ||
| 448 | retval = -EINTR; | ||
| 449 | goto out; | ||
| 450 | } | ||
| 443 | if (mpnt->vm_flags & VM_ACCOUNT) { | 451 | if (mpnt->vm_flags & VM_ACCOUNT) { |
| 444 | unsigned long len = vma_pages(mpnt); | 452 | unsigned long len = vma_pages(mpnt); |
| 445 | 453 | ||
