Lines Matching refs:vma

196 		ret = expand_downwards(bprm->vma, pos);  in get_arg_page()
207 unsigned long size = bprm->vma->vm_end - bprm->vma->vm_start; in get_arg_page()
252 flush_cache_page(bprm->vma, pos, page_to_pfn(page)); in flush_arg_page()
258 struct vm_area_struct *vma = NULL; in __bprm_mm_init() local
261 bprm->vma = vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); in __bprm_mm_init()
262 if (!vma) in __bprm_mm_init()
266 vma->vm_mm = mm; in __bprm_mm_init()
275 vma->vm_end = STACK_TOP_MAX; in __bprm_mm_init()
276 vma->vm_start = vma->vm_end - PAGE_SIZE; in __bprm_mm_init()
277 vma->vm_flags = VM_SOFTDIRTY | VM_STACK_FLAGS | VM_STACK_INCOMPLETE_SETUP; in __bprm_mm_init()
278 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); in __bprm_mm_init()
279 INIT_LIST_HEAD(&vma->anon_vma_chain); in __bprm_mm_init()
281 err = insert_vm_struct(mm, vma); in __bprm_mm_init()
286 arch_bprm_mm_init(mm, vma); in __bprm_mm_init()
288 bprm->p = vma->vm_end - sizeof(void *); in __bprm_mm_init()
292 bprm->vma = NULL; in __bprm_mm_init()
293 kmem_cache_free(vm_area_cachep, vma); in __bprm_mm_init()
582 static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) in shift_arg_pages() argument
584 struct mm_struct *mm = vma->vm_mm; in shift_arg_pages()
585 unsigned long old_start = vma->vm_start; in shift_arg_pages()
586 unsigned long old_end = vma->vm_end; in shift_arg_pages()
598 if (vma != find_vma(mm, new_start)) in shift_arg_pages()
604 if (vma_adjust(vma, new_start, old_end, vma->vm_pgoff, NULL)) in shift_arg_pages()
611 if (length != move_page_tables(vma, old_start, in shift_arg_pages()
612 vma, new_start, length, false)) in shift_arg_pages()
622 vma->vm_next ? vma->vm_next->vm_start : USER_PGTABLES_CEILING); in shift_arg_pages()
631 vma->vm_next ? vma->vm_next->vm_start : USER_PGTABLES_CEILING); in shift_arg_pages()
638 vma_adjust(vma, new_start, new_end, vma->vm_pgoff, NULL); in shift_arg_pages()
654 struct vm_area_struct *vma = bprm->vma; in setup_arg_pages() local
672 if (vma->vm_end - vma->vm_start > stack_base) in setup_arg_pages()
677 stack_shift = vma->vm_start - stack_base; in setup_arg_pages()
679 bprm->p = vma->vm_end - stack_shift; in setup_arg_pages()
685 unlikely(vma->vm_end - vma->vm_start >= stack_top - mmap_min_addr)) in setup_arg_pages()
688 stack_shift = vma->vm_end - stack_top; in setup_arg_pages()
713 ret = mprotect_fixup(vma, &prev, vma->vm_start, vma->vm_end, in setup_arg_pages()
717 BUG_ON(prev != vma); in setup_arg_pages()
721 ret = shift_arg_pages(vma, stack_shift); in setup_arg_pages()
727 vma->vm_flags &= ~VM_STACK_INCOMPLETE_SETUP; in setup_arg_pages()
730 stack_size = vma->vm_end - vma->vm_start; in setup_arg_pages()
738 stack_base = vma->vm_start + rlim_stack; in setup_arg_pages()
740 stack_base = vma->vm_end + stack_expand; in setup_arg_pages()
743 stack_base = vma->vm_end - rlim_stack; in setup_arg_pages()
745 stack_base = vma->vm_start - stack_expand; in setup_arg_pages()
748 ret = expand_stack(vma, stack_base); in setup_arg_pages()