Lines Matching refs:vma

190 		ret = expand_downwards(bprm->vma, pos);  in get_arg_page()
201 unsigned long size = bprm->vma->vm_end - bprm->vma->vm_start; in get_arg_page()
246 flush_cache_page(bprm->vma, pos, page_to_pfn(page)); in flush_arg_page()
252 struct vm_area_struct *vma = NULL; in __bprm_mm_init() local
255 bprm->vma = vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); in __bprm_mm_init()
256 if (!vma) in __bprm_mm_init()
260 vma->vm_mm = mm; in __bprm_mm_init()
269 vma->vm_end = STACK_TOP_MAX; in __bprm_mm_init()
270 vma->vm_start = vma->vm_end - PAGE_SIZE; in __bprm_mm_init()
271 vma->vm_flags = VM_SOFTDIRTY | VM_STACK_FLAGS | VM_STACK_INCOMPLETE_SETUP; in __bprm_mm_init()
272 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); in __bprm_mm_init()
273 INIT_LIST_HEAD(&vma->anon_vma_chain); in __bprm_mm_init()
275 err = insert_vm_struct(mm, vma); in __bprm_mm_init()
280 arch_bprm_mm_init(mm, vma); in __bprm_mm_init()
282 bprm->p = vma->vm_end - sizeof(void *); in __bprm_mm_init()
286 bprm->vma = NULL; in __bprm_mm_init()
287 kmem_cache_free(vm_area_cachep, vma); in __bprm_mm_init()
576 static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) in shift_arg_pages() argument
578 struct mm_struct *mm = vma->vm_mm; in shift_arg_pages()
579 unsigned long old_start = vma->vm_start; in shift_arg_pages()
580 unsigned long old_end = vma->vm_end; in shift_arg_pages()
592 if (vma != find_vma(mm, new_start)) in shift_arg_pages()
598 if (vma_adjust(vma, new_start, old_end, vma->vm_pgoff, NULL)) in shift_arg_pages()
605 if (length != move_page_tables(vma, old_start, in shift_arg_pages()
606 vma, new_start, length, false)) in shift_arg_pages()
616 vma->vm_next ? vma->vm_next->vm_start : USER_PGTABLES_CEILING); in shift_arg_pages()
625 vma->vm_next ? vma->vm_next->vm_start : USER_PGTABLES_CEILING); in shift_arg_pages()
632 vma_adjust(vma, new_start, new_end, vma->vm_pgoff, NULL); in shift_arg_pages()
648 struct vm_area_struct *vma = bprm->vma; in setup_arg_pages() local
666 if (vma->vm_end - vma->vm_start > stack_base) in setup_arg_pages()
671 stack_shift = vma->vm_start - stack_base; in setup_arg_pages()
673 bprm->p = vma->vm_end - stack_shift; in setup_arg_pages()
679 unlikely(vma->vm_end - vma->vm_start >= stack_top - mmap_min_addr)) in setup_arg_pages()
682 stack_shift = vma->vm_end - stack_top; in setup_arg_pages()
707 ret = mprotect_fixup(vma, &prev, vma->vm_start, vma->vm_end, in setup_arg_pages()
711 BUG_ON(prev != vma); in setup_arg_pages()
715 ret = shift_arg_pages(vma, stack_shift); in setup_arg_pages()
721 vma->vm_flags &= ~VM_STACK_INCOMPLETE_SETUP; in setup_arg_pages()
724 stack_size = vma->vm_end - vma->vm_start; in setup_arg_pages()
732 stack_base = vma->vm_start + rlim_stack; in setup_arg_pages()
734 stack_base = vma->vm_end + stack_expand; in setup_arg_pages()
737 stack_base = vma->vm_end - rlim_stack; in setup_arg_pages()
739 stack_base = vma->vm_start - stack_expand; in setup_arg_pages()
742 ret = expand_stack(vma, stack_base); in setup_arg_pages()