diff options
-rw-r--r-- | fs/exec.c | 2 | ||||
-rw-r--r-- | kernel/exit.c | 1 |
2 files changed, 2 insertions, 1 deletions
@@ -819,10 +819,10 @@ static int exec_mmap(struct mm_struct *mm) | |||
819 | /* Notify parent that we're no longer interested in the old VM */ | 819 | /* Notify parent that we're no longer interested in the old VM */ |
820 | tsk = current; | 820 | tsk = current; |
821 | old_mm = current->mm; | 821 | old_mm = current->mm; |
822 | sync_mm_rss(old_mm); | ||
823 | mm_release(tsk, old_mm); | 822 | mm_release(tsk, old_mm); |
824 | 823 | ||
825 | if (old_mm) { | 824 | if (old_mm) { |
825 | sync_mm_rss(old_mm); | ||
826 | /* | 826 | /* |
827 | * Make sure that if there is a core dump in progress | 827 | * Make sure that if there is a core dump in progress |
828 | * for the old mm, we get out and die instead of going | 828 | * for the old mm, we get out and die instead of going |
diff --git a/kernel/exit.c b/kernel/exit.c index 34867cc5b42..c0277d3f1aa 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -643,6 +643,7 @@ static void exit_mm(struct task_struct * tsk) | |||
643 | mm_release(tsk, mm); | 643 | mm_release(tsk, mm); |
644 | if (!mm) | 644 | if (!mm) |
645 | return; | 645 | return; |
646 | sync_mm_rss(mm); | ||
646 | /* | 647 | /* |
647 | * Serialize with any possible pending coredump. | 648 | * Serialize with any possible pending coredump. |
648 | * We must hold mmap_sem around checking core_state | 649 | * We must hold mmap_sem around checking core_state |