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 | ||