diff --git a/fs/exec.c b/fs/exec.c index 103aca5fba4c..22a2a8b319e7 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1014,7 +1014,6 @@ static int exec_mmap(struct mm_struct *mm) active_mm = tsk->active_mm; tsk->active_mm = mm; tsk->mm = mm; - lru_gen_add_mm(mm); /* * This prevents preemption while active_mm is being loaded and * it and mm are being updated, which could cause problems for @@ -1028,6 +1027,7 @@ static int exec_mmap(struct mm_struct *mm) if (IS_ENABLED(CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM)) local_irq_enable(); tsk->mm->vmacache_seqnum = 0; + lru_gen_add_mm(mm); vmacache_flush(tsk); task_unlock(tsk); lru_gen_use_mm(mm);