Merge tag 'kthread-cleanups-for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / fs / exec.c
index 9c5260e74517bc67ffab4d782ea3dfade549d750..0989fb8472a18fa65214769692f3d30cc979f1a8 100644 (file)
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -758,6 +758,7 @@ int setup_arg_pages(struct linux_binprm *bprm,
        unsigned long stack_size;
        unsigned long stack_expand;
        unsigned long rlim_stack;
+       struct mmu_gather tlb;
 
 #ifdef CONFIG_STACK_GROWSUP
        /* Limit stack size */
@@ -812,8 +813,11 @@ int setup_arg_pages(struct linux_binprm *bprm,
        vm_flags |= mm->def_flags;
        vm_flags |= VM_STACK_INCOMPLETE_SETUP;
 
-       ret = mprotect_fixup(vma, &prev, vma->vm_start, vma->vm_end,
+       tlb_gather_mmu(&tlb, mm);
+       ret = mprotect_fixup(&tlb, vma, &prev, vma->vm_start, vma->vm_end,
                        vm_flags);
+       tlb_finish_mmu(&tlb);
+
        if (ret)
                goto out_unlock;
        BUG_ON(prev != vma);