X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=fs%2Fexec.c;h=0989fb8472a18fa65214769692f3d30cc979f1a8;hb=1ec6574a3c0a22c130c08e8c36c825cb87d68f8e;hp=9c5260e74517bc67ffab4d782ea3dfade549d750;hpb=b3f9916d81e8ffb21cbe7abccf63f86a5a1d598a;p=sfrench%2Fcifs-2.6.git diff --git a/fs/exec.c b/fs/exec.c index 9c5260e74517..0989fb8472a1 100644 --- 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);