diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/exec.c | 5 | ||||
-rw-r--r-- | fs/proc/task_mmu.c | 3 |
2 files changed, 6 insertions, 2 deletions
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/file.h> | 26 | #include <linux/file.h> |
27 | #include <linux/fdtable.h> | 27 | #include <linux/fdtable.h> |
28 | #include <linux/mm.h> | 28 | #include <linux/mm.h> |
29 | #include <linux/vmacache.h> | ||
29 | #include <linux/stat.h> | 30 | #include <linux/stat.h> |
30 | #include <linux/fcntl.h> | 31 | #include <linux/fcntl.h> |
31 | #include <linux/swap.h> | 32 | #include <linux/swap.h> |
@@ -822,7 +823,7 @@ EXPORT_SYMBOL(read_code); | |||
822 | static int exec_mmap(struct mm_struct *mm) | 823 | static int exec_mmap(struct mm_struct *mm) |
823 | { | 824 | { |
824 | struct task_struct *tsk; | 825 | struct task_struct *tsk; |
825 | struct mm_struct * old_mm, *active_mm; | 826 | struct mm_struct *old_mm, *active_mm; |
826 | 827 | ||
827 | /* Notify parent that we're no longer interested in the old VM */ | 828 | /* Notify parent that we're no longer interested in the old VM */ |
828 | tsk = current; | 829 | tsk = current; |
@@ -848,6 +849,8 @@ static int exec_mmap(struct mm_struct *mm) | |||
848 | tsk->mm = mm; | 849 | tsk->mm = mm; |
849 | tsk->active_mm = mm; | 850 | tsk->active_mm = mm; |
850 | activate_mm(active_mm, mm); | 851 | activate_mm(active_mm, mm); |
852 | tsk->mm->vmacache_seqnum = 0; | ||
853 | vmacache_flush(tsk); | ||
851 | task_unlock(tsk); | 854 | task_unlock(tsk); |
852 | if (old_mm) { | 855 | if (old_mm) { |
853 | up_read(&old_mm->mmap_sem); | 856 | up_read(&old_mm->mmap_sem); |
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index fb52b548080d..442177b1119a 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c | |||
@@ -1,4 +1,5 @@ | |||
1 | #include <linux/mm.h> | 1 | #include <linux/mm.h> |
2 | #include <linux/vmacache.h> | ||
2 | #include <linux/hugetlb.h> | 3 | #include <linux/hugetlb.h> |
3 | #include <linux/huge_mm.h> | 4 | #include <linux/huge_mm.h> |
4 | #include <linux/mount.h> | 5 | #include <linux/mount.h> |
@@ -152,7 +153,7 @@ static void *m_start(struct seq_file *m, loff_t *pos) | |||
152 | 153 | ||
153 | /* | 154 | /* |
154 | * We remember last_addr rather than next_addr to hit with | 155 | * We remember last_addr rather than next_addr to hit with |
155 | * mmap_cache most of the time. We have zero last_addr at | 156 | * vmacache most of the time. We have zero last_addr at |
156 | * the beginning and also after lseek. We will have -1 last_addr | 157 | * the beginning and also after lseek. We will have -1 last_addr |
157 | * after the end of the vmas. | 158 | * after the end of the vmas. |
158 | */ | 159 | */ |