| /linux/drivers/gpu/drm/i915/ |
| H A D | i915_vma.c | 50 static inline void assert_vma_held_evict(const struct i915_vma *vma) in assert_vma_held_evict() argument 57 if (kref_read(&vma->vm->ref)) in assert_vma_held_evict() 58 assert_object_held_shared(vma->obj); in assert_vma_held_evict() 68 static void i915_vma_free(struct i915_vma *vma) in i915_vma_free() argument 70 return kmem_cache_free(slab_vmas, vma); in i915_vma_free() 77 static void vma_print_allocator(struct i915_vma *vma, const char *reason) in vma_print_allocator() argument 81 if (!vma->node.stack) { in vma_print_allocator() 82 drm_dbg(vma->obj->base.dev, in vma_print_allocator() 84 vma->node.start, vma->node.size, reason); in vma_print_allocator() 88 stack_depot_snprint(vma->node.stack, buf, sizeof(buf), 0); in vma_print_allocator() [all …]
|
| H A D | i915_gem_evict.c | 41 static bool dying_vma(struct i915_vma *vma) 43 return !kref_read(&vma->obj->base.refcount); 67 static bool grab_vma(struct i915_vma *vma, struct i915_gem_ww_ctx *ww) in grab_vma() argument 73 if (i915_gem_object_get_rcu(vma->obj)) { in grab_vma() 74 if (!i915_gem_object_trylock(vma->obj, ww)) { in grab_vma() 75 i915_gem_object_put(vma->obj); in grab_vma() 80 atomic_and(~I915_VMA_PIN_MASK, &vma->flags); in grab_vma() 86 static void ungrab_vma(struct i915_vma *vma) in ungrab_vma() argument 88 if (dying_vma(vma)) in ungrab_vma() 91 i915_gem_object_unlock(vma->obj); in ungrab_vma() [all …]
|
| /linux/mm/ |
| H A D | mmap_lock.c | 52 struct vm_area_struct *vma; 67 struct vm_area_struct *vma = ves->vma; in __vma_enter_locked() 72 &vma->vm_refcnt); in __vma_enter_locked() 73 __vma_lockdep_release_exclusive(vma); in __vma_enter_locked() 107 struct vm_area_struct *vma = ves->vma; in __vma_start_write() 111 mmap_assert_write_locked(vma->vm_mm); in __vma_start_write() 114 * If vma is detached then only vma_mark_attached() can raise the in __vma_start_write() 120 if (!refcount_add_not_zero(VM_REFCNT_EXCLUDE_READERS_FLAG, &vma in __vma_start_write() 53 __vma_enter_locked(struct vm_area_struct * vma,bool detaching,int state) __vma_enter_locked() argument 93 __vma_exit_locked(struct vm_area_struct * vma,bool * detached) __vma_exit_locked() argument 99 __vma_start_write(struct vm_area_struct * vma,unsigned int mm_lock_seq,int state) __vma_start_write() argument 127 vma_mark_detached(struct vm_area_struct * vma) vma_mark_detached() argument 163 vma_start_read(struct mm_struct * mm,struct vm_area_struct * vma) vma_start_read() argument 249 struct vm_area_struct *vma; lock_vma_under_rcu() local 297 struct vm_area_struct *vma; lock_next_vma_under_mmap_lock() local 322 struct vm_area_struct *vma; lock_next_vma() local 448 struct vm_area_struct *vma; lock_mm_and_find_vma() local 510 struct vm_area_struct *vma; lock_mm_and_find_vma() local [all...] |
| H A D | vma.c | 76 static bool vma_is_fork_child(struct vm_area_struct *vma) in vma_is_fork_child() argument 83 return vma && vma->anon_vma && !list_is_singular(&vma->anon_vma_chain); in vma_is_fork_child() 88 struct vm_area_struct *vma = merge_next ? vmg->next : vmg->prev; in is_mergeable_vma() local 90 if (!mpol_equal(vmg->policy, vma_policy(vma))) in is_mergeable_vma() 92 if ((vma->vm_flags ^ vmg->vm_flags) & ~VM_IGNORE_MERGE) in is_mergeable_vma() 94 if (vma->vm_file != vmg->file) in is_mergeable_vma() 96 if (!is_mergeable_vm_userfaultfd_ctx(vma, vmg->uffd_ctx)) in is_mergeable_vma() 98 if (!anon_vma_name_eq(anon_vma_name(vma), vmg->anon_name)) in is_mergeable_vma() 143 struct vm_area_struct *vma, in init_multi_vma_prep() argument 150 vp->vma = vma; in init_multi_vma_prep() [all …]
|
| H A D | nommu.c | 92 struct vm_area_struct *vma; in kobjsize() local 94 vma = find_vma(current->mm, (unsigned long)objp); in kobjsize() 95 if (vma) in kobjsize() 96 return vma->vm_end - vma->vm_start; in kobjsize() 148 struct vm_area_struct *vma; in __vmalloc_user_flags() local 151 vma = find_vma(current->mm, (unsigned long)ret); in __vmalloc_user_flags() 152 if (vma) in __vmalloc_user_flags() 153 vm_flags_set(vma, VM_USERMAP); in __vmalloc_user_flags() 345 int vm_insert_page(struct vm_area_struct *vma, unsigned long addr, in vm_insert_page() argument 352 int vm_insert_pages(struct vm_area_struct *vma, unsigned long addr, in vm_insert_pages() argument [all …]
|
| H A D | mprotect.c | 41 static bool maybe_change_pte_writable(struct vm_area_struct *vma, pte_t pte) in maybe_change_pte_writable() argument 43 if (WARN_ON_ONCE(!(vma->vm_flags & VM_WRITE))) in maybe_change_pte_writable() 51 if (pte_needs_soft_dirty_wp(vma, pte)) in maybe_change_pte_writable() 55 if (userfaultfd_pte_wp(vma, pte)) in maybe_change_pte_writable() 61 static bool can_change_private_pte_writable(struct vm_area_struct *vma, in can_change_private_pte_writable() argument 66 if (!maybe_change_pte_writable(vma, pte)) in can_change_private_pte_writable() 75 page = vm_normal_page(vma, addr, pte); in can_change_private_pte_writable() 79 static bool can_change_shared_pte_writable(struct vm_area_struct *vma, in can_change_shared_pte_writable() argument 82 if (!maybe_change_pte_writable(vma, pte)) in can_change_shared_pte_writable() 97 bool can_change_pte_writable(struct vm_area_struct *vma, unsigne argument 120 prot_commit_flush_ptes(struct vm_area_struct * vma,unsigned long addr,pte_t * ptep,pte_t oldpte,pte_t ptent,int nr_ptes,int idx,bool set_write,struct mmu_gather * tlb) prot_commit_flush_ptes() argument 172 commit_anon_folio_batch(struct vm_area_struct * vma,struct folio * folio,struct page * first_page,unsigned long addr,pte_t * ptep,pte_t oldpte,pte_t ptent,int nr_ptes,struct mmu_gather * tlb) commit_anon_folio_batch() argument 191 set_write_prot_commit_flush_ptes(struct vm_area_struct * vma,struct folio * folio,struct page * page,unsigned long addr,pte_t * ptep,pte_t oldpte,pte_t ptent,int nr_ptes,struct mmu_gather * tlb) set_write_prot_commit_flush_ptes() argument 215 change_pte_range(struct mmu_gather * tlb,struct vm_area_struct * vma,pmd_t * pmd,unsigned long addr,unsigned long end,pgprot_t newprot,unsigned long cp_flags) change_pte_range() argument 393 pgtable_split_needed(struct vm_area_struct * vma,unsigned long cp_flags) pgtable_split_needed() argument 409 pgtable_populate_needed(struct vm_area_struct * vma,unsigned long cp_flags) pgtable_populate_needed() argument 425 change_pmd_prepare(vma,pmd,cp_flags) global() argument 440 change_prepare(vma,high,low,addr,cp_flags) global() argument 452 change_pmd_range(struct mmu_gather * tlb,struct vm_area_struct * vma,pud_t * pud,unsigned long addr,unsigned long end,pgprot_t newprot,unsigned long cp_flags) change_pmd_range() argument 522 change_pud_range(struct mmu_gather * tlb,struct vm_area_struct * vma,p4d_t * p4d,unsigned long addr,unsigned long end,pgprot_t newprot,unsigned long cp_flags) change_pud_range() argument 581 change_p4d_range(struct mmu_gather * tlb,struct vm_area_struct * vma,pgd_t * pgd,unsigned long addr,unsigned long end,pgprot_t newprot,unsigned long cp_flags) change_p4d_range() argument 604 change_protection_range(struct mmu_gather * tlb,struct vm_area_struct * vma,unsigned long addr,unsigned long end,pgprot_t newprot,unsigned long cp_flags) change_protection_range() argument 634 change_protection(struct mmu_gather * tlb,struct vm_area_struct * vma,unsigned long start,unsigned long end,unsigned long cp_flags) change_protection() argument 696 mprotect_fixup(struct vma_iterator * vmi,struct mmu_gather * tlb,struct vm_area_struct * vma,struct vm_area_struct ** pprev,unsigned long start,unsigned long end,vm_flags_t newflags) mprotect_fixup() argument 805 struct vm_area_struct *vma, *prev; do_mprotect_pkey() local [all...] |
| H A D | madvise.c | 80 struct vm_area_struct *vma; member 110 struct anon_vma_name *anon_vma_name(struct vm_area_struct *vma) in anon_vma_name() argument 112 vma_assert_stabilised(vma); in anon_vma_name() 113 return vma->anon_name; in anon_vma_name() 117 static int replace_anon_vma_name(struct vm_area_struct *vma, in replace_anon_vma_name() argument 120 struct anon_vma_name *orig_name = anon_vma_name(vma); in replace_anon_vma_name() 123 vma->anon_name = NULL; in replace_anon_vma_name() 131 vma->anon_name = anon_vma_name_reuse(anon_name); in replace_anon_vma_name() 137 static int replace_anon_vma_name(struct vm_area_struct *vma, in replace_anon_vma_name() argument 153 struct vm_area_struct *vma = madv_behavior->vma; in madvise_update_vma() local [all …]
|
| H A D | memory.c | 107 if (!userfaultfd_wp(vmf->vma)) in vmf_orig_pte_uffd_wp() 390 struct vm_area_struct *vma = unmap->first; in free_pgtables() local 403 unsigned long addr = vma->vm_start; in free_pgtables() 413 vma_start_write(vma); in free_pgtables() 414 unlink_anon_vmas(vma); in free_pgtables() 417 unlink_file_vma_batch_add(&vb, vma); in free_pgtables() 422 while (next && next->vm_start <= vma->vm_end + PMD_SIZE) { in free_pgtables() 423 vma = next; in free_pgtables() 426 vma_start_write(vma); in free_pgtables() 427 unlink_anon_vmas(vma); in free_pgtables() [all …]
|
| H A D | mremap.c | 64 struct vm_area_struct *vma; member 143 static void take_rmap_locks(struct vm_area_struct *vma) in take_rmap_locks() argument 145 if (vma->vm_file) in take_rmap_locks() 146 i_mmap_lock_write(vma->vm_file->f_mapping); in take_rmap_locks() 147 if (vma->anon_vma) in take_rmap_locks() 148 anon_vma_lock_write(vma->anon_vma); in take_rmap_locks() 151 static void drop_rmap_locks(struct vm_area_struct *vma) in drop_rmap_locks() argument 153 if (vma->anon_vma) in drop_rmap_locks() 154 anon_vma_unlock_write(vma->anon_vma); in drop_rmap_locks() 155 if (vma->vm_file) in drop_rmap_locks() [all …]
|
| H A D | vma.h | 14 struct vm_area_struct *vma; member 36 struct vm_area_struct *vma; /* The first vma to munmap */ member 175 struct vma_iterator *vmi, struct vm_area_struct *vma) in unmap_all_init() argument 178 unmap->first = vma; in unmap_all_init() 184 unmap->tree_reset = vma->vm_end; in unmap_all_init() 230 static inline pgoff_t vma_pgoff_offset(struct vm_area_struct *vma, in vma_pgoff_offset() argument 233 return vma->vm_pgoff + PHYS_PFN(addr - vma->vm_start); in vma_pgoff_offset() 274 struct vm_area_struct *vma, 278 struct vm_area_struct *vma, gfp_t gfp) in vma_iter_store_gfp() argument 282 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) in vma_iter_store_gfp() [all …]
|
| H A D | vma_exec.c | 19 int relocate_vma_down(struct vm_area_struct *vma, unsigned long shift) in relocate_vma_down() argument 32 struct mm_struct *mm = vma->vm_mm; in relocate_vma_down() 33 unsigned long old_start = vma->vm_start; in relocate_vma_down() 34 unsigned long old_end = vma->vm_end; in relocate_vma_down() 39 VMG_STATE(vmg, mm, &vmi, new_start, old_end, 0, vma->vm_pgoff); in relocate_vma_down() 42 PAGETABLE_MOVE(pmc, vma, vma, old_start, new_start, length); in relocate_vma_down() 50 if (vma != vma_next(&vmi)) in relocate_vma_down() 57 vmg.target = vma; in relocate_vma_down() 91 return vma_shrink(&vmi, vma, new_start, new_end, vma->vm_pgoff); in relocate_vma_down() 112 struct vm_area_struct *vma = vm_area_alloc(mm); in create_init_stack_vma() local [all …]
|
| H A D | rmap.c | 150 static void anon_vma_chain_assign(struct vm_area_struct *vma, in anon_vma_chain_assign() argument 154 avc->vma = vma; in anon_vma_chain_assign() 156 list_add(&avc->same_vma, &vma->anon_vma_chain); in anon_vma_chain_assign() 185 int __anon_vma_prepare(struct vm_area_struct *vma) in __anon_vma_prepare() argument 187 struct mm_struct *mm = vma->vm_mm; in __anon_vma_prepare() 198 anon_vma = find_mergeable_anon_vma(vma); in __anon_vma_prepare() 211 if (likely(!vma->anon_vma)) { in __anon_vma_prepare() 212 vma->anon_vma = anon_vma; in __anon_vma_prepare() 213 anon_vma_chain_assign(vma, avc, anon_vma); in __anon_vma_prepare() 290 static void cleanup_partial_anon_vmas(struct vm_area_struct *vma); [all …]
|
| H A D | pagewalk.c | 48 update_mmu_cache(walk->vma, addr, pte); in walk_pte_range_inner() 150 if (walk->vma) in walk_pmd_range() 151 split_huge_pmd(walk->vma, pmd, addr); in walk_pmd_range() 216 if (walk->vma) in walk_pud_range() 217 split_huge_pud(walk->vma, pud, addr); in walk_pud_range() 323 struct vm_area_struct *vma = walk->vma; in walk_hugetlb_range() 324 struct hstate *h = hstate_vma(vma); in walk_hugetlb_range() 332 hugetlb_vma_lock_read(vma); in walk_hugetlb_range() 335 pte = hugetlb_walk(vma, add in walk_hugetlb_range() 322 struct vm_area_struct *vma = walk->vma; walk_hugetlb_range() local 365 struct vm_area_struct *vma = walk->vma; walk_page_test() local 392 struct vm_area_struct *vma = walk->vma; __walk_page_range() local 427 process_vma_walk_lock(struct vm_area_struct * vma,enum page_walk_lock walk_lock) process_vma_walk_lock() argument 461 struct vm_area_struct *vma; walk_page_range_mm_unsafe() local 697 walk_page_range_vma_unsafe(struct vm_area_struct * vma,unsigned long start,unsigned long end,const struct mm_walk_ops * ops,void * private) walk_page_range_vma_unsafe() argument 717 walk_page_range_vma(struct vm_area_struct * vma,unsigned long start,unsigned long end,const struct mm_walk_ops * ops,void * private) walk_page_range_vma() argument 727 walk_page_vma(struct vm_area_struct * vma,const struct mm_walk_ops * ops,void * private) walk_page_vma() argument 785 struct vm_area_struct *vma; walk_page_mapping() local 883 folio_walk_start(struct folio_walk * fw,struct vm_area_struct * vma,unsigned long addr,folio_walk_flags_t flags) folio_walk_start() argument [all...] |
| /linux/tools/testing/vma/tests/ |
| H A D | merge.c | 6 struct vm_area_struct *vma; in merge_new() local 15 vma = vma_merge_new_range(vmg); in merge_new() 16 if (vma) in merge_new() 17 vma_assert_attached(vma); in merge_new() 19 return vma; in merge_new() 97 struct vm_area_struct *vma; in test_simple_merge() local 115 vma = merge_new(&vmg); in test_simple_merge() 116 ASSERT_NE(vma, NULL); in test_simple_merge() 118 ASSERT_EQ(vma->vm_start, 0); in test_simple_merge() 119 ASSERT_EQ(vma->vm_end, 0x3000); in test_simple_merge() [all …]
|
| /linux/tools/testing/vma/ |
| H A D | shared.c | 19 struct vm_area_struct *vma = vm_area_alloc(mm); in alloc_vma() local 21 if (vma == NULL) in alloc_vma() 24 vma->vm_start = start; in alloc_vma() 25 vma->vm_end = end; in alloc_vma() 26 vma->vm_pgoff = pgoff; in alloc_vma() 27 vm_flags_reset(vma, vm_flags); in alloc_vma() 28 vma_assert_detached(vma); in alloc_vma() 30 return vma; in alloc_vma() 33 void detach_free_vma(struct vm_area_struct *vma) in detach_free_vma() argument 35 vma_mark_detached(vma); in detach_free_vma() [all …]
|
| /linux/include/linux/ |
| H A D | userfaultfd_k.h | 131 extern long uffd_wp_range(struct vm_area_struct *vma, 145 static inline bool is_mergeable_vm_userfaultfd_ctx(struct vm_area_struct *vma, in is_mergeable_vm_userfaultfd_ctx() argument 148 return vma->vm_userfaultfd_ctx.ctx == vm_ctx.ctx; in is_mergeable_vm_userfaultfd_ctx() 162 static inline bool uffd_disable_huge_pmd_share(struct vm_area_struct *vma) in uffd_disable_huge_pmd_share() argument 164 return vma->vm_flags & (VM_UFFD_WP | VM_UFFD_MINOR); in uffd_disable_huge_pmd_share() 174 static inline bool uffd_disable_fault_around(struct vm_area_struct *vma) in uffd_disable_fault_around() argument 176 return vma->vm_flags & (VM_UFFD_WP | VM_UFFD_MINOR); in uffd_disable_fault_around() 179 static inline bool userfaultfd_missing(struct vm_area_struct *vma) in userfaultfd_missing() argument 181 return vma->vm_flags & VM_UFFD_MISSING; in userfaultfd_missing() 184 static inline bool userfaultfd_wp(struct vm_area_struct *vma) in userfaultfd_wp() argument [all …]
|
| H A D | hugetlb.h | 106 struct vm_area_struct *vma; member 121 void hugetlb_dup_vma_private(struct vm_area_struct *vma); 122 void clear_vma_resv_huge_pages(struct vm_area_struct *vma); 123 int move_hugetlb_page_tables(struct vm_area_struct *vma, 133 struct vm_area_struct *vma, 140 vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, 164 pte_t *huge_pmd_share(struct mm_struct *mm, struct vm_area_struct *vma, 167 struct vm_area_struct *vma, 199 pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma, 241 int huge_pmd_unshare(struct mmu_gather *tlb, struct vm_area_struct *vma, [all …]
|
| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_vmm.c | 29 nouveau_vma_unmap(struct nouveau_vma *vma) in nouveau_vma_unmap() argument 31 if (vma->mem) { in nouveau_vma_unmap() 32 nvif_vmm_unmap(&vma->vmm->vmm, vma->addr); in nouveau_vma_unmap() 33 vma->mem = NULL; in nouveau_vma_unmap() 38 nouveau_vma_map(struct nouveau_vma *vma, struct nouveau_mem *mem) in nouveau_vma_map() argument 40 struct nvif_vma tmp = { .addr = vma->addr }; in nouveau_vma_map() 41 int ret = nouveau_mem_map(mem, &vma->vmm->vmm, &tmp); in nouveau_vma_map() 44 vma->mem = mem; in nouveau_vma_map() 51 struct nouveau_vma *vma; in nouveau_vma_find() local 53 list_for_each_entry(vma, &nvbo->vma_list, head) { in nouveau_vma_find() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
| H A D | vmm.c | 826 struct nvkm_vma *vma = kzalloc_obj(*vma); in nvkm_vma_new() local 827 if (vma) { in nvkm_vma_new() 828 vma->addr = addr; in nvkm_vma_new() 829 vma->size = size; in nvkm_vma_new() 830 vma->page = NVKM_VMA_PAGE_NONE; in nvkm_vma_new() 831 vma->refd = NVKM_VMA_PAGE_NONE; in nvkm_vma_new() 833 return vma; in nvkm_vma_new() 837 nvkm_vma_tail(struct nvkm_vma *vma, u64 tail) in nvkm_vma_tail() argument 841 BUG_ON(vma->size == tail); in nvkm_vma_tail() 843 if (!(new = nvkm_vma_new(vma->addr + (vma->size - tail), tail))) in nvkm_vma_tail() [all …]
|
| /linux/drivers/gpu/drm/i915/selftests/ |
| H A D | i915_gem_gtt.c | 398 struct i915_vma *vma; in close_object_list() local 400 vma = i915_vma_instance(obj, vm, NULL); in close_object_list() 401 if (!IS_ERR(vma)) in close_object_list() 402 ignored = i915_vma_unbind_unlocked(vma); in close_object_list() 421 struct i915_vma *vma; in fill_hole() local 463 vma = i915_vma_instance(obj, vm, NULL); in fill_hole() 464 if (IS_ERR(vma)) in fill_hole() 473 err = i915_vma_pin(vma, 0, 0, offset | flags); in fill_hole() 480 if (!drm_mm_node_allocated(&vma->node) || in fill_hole() 481 i915_vma_misplaced(vma, 0, 0, offset | flags)) { in fill_hole() [all …]
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_trace_bo.h | 21 #define __dev_name_vma(vma) __dev_name_vm(xe_vma_vm(vma)) argument 89 TP_PROTO(struct xe_vma *vma), 90 TP_ARGS(vma), 93 __string(dev, __dev_name_vma(vma)) 94 __field(struct xe_vma *, vma) 104 __entry->vma = vma; 105 __entry->vm = xe_vma_vm(vma); 106 __entry->asid = xe_vma_vm(vma)->usm.asid; 107 __entry->start = xe_vma_start(vma); 108 __entry->end = xe_vma_end(vma) - 1; [all …]
|
| H A D | xe_vm.h | 69 bool xe_vma_has_default_mem_attrs(struct xe_vma *vma); 115 static inline u64 xe_vma_start(struct xe_vma *vma) in xe_vma_start() argument 117 return vma->gpuva.va.addr; in xe_vma_start() 120 static inline u64 xe_vma_size(struct xe_vma *vma) in xe_vma_size() argument 122 return vma->gpuva.va.range; in xe_vma_size() 125 static inline u64 xe_vma_end(struct xe_vma *vma) in xe_vma_end() argument 127 return xe_vma_start(vma) + xe_vma_size(vma); in xe_vma_end() 130 static inline u64 xe_vma_bo_offset(struct xe_vma *vma) in xe_vma_bo_offset() argument 132 return vma->gpuva.gem.offset; in xe_vma_bo_offset() 135 static inline struct xe_bo *xe_vma_bo(struct xe_vma *vma) in xe_vma_bo() argument [all …]
|
| /linux/tools/testing/vma/include/ |
| H A D | dup.h | 7 static inline void vma_start_write(struct vm_area_struct *vma); 453 int (*success_hook)(const struct vm_area_struct *vma); 623 int (*mprotect)(struct vm_area_struct *vma, unsigned long start, 642 int (*access)(struct vm_area_struct *vma, unsigned long addr, 648 const char *(*name)(struct vm_area_struct *vma); 658 int (*set_policy)(struct vm_area_struct *vma, struct mempolicy *new); 670 struct mempolicy *(*get_policy)(struct vm_area_struct *vma, 685 struct page *(*find_normal_page)(struct vm_area_struct *vma, 796 static inline void vm_flags_init(struct vm_area_struct *vma, in vm_flags_init() argument 799 vma_flags_clear_all(&vma->flags); in vm_flags_init() [all …]
|
| /linux/drivers/pci/ |
| H A D | mmap.c | 25 struct vm_area_struct *vma, in pci_mmap_resource_range() argument 32 if (vma->vm_pgoff + vma_pages(vma) > size) in pci_mmap_resource_range() 36 vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); in pci_mmap_resource_range() 38 vma->vm_page_prot = pgprot_device(vma->vm_page_prot); in pci_mmap_resource_range() 41 ret = pci_iobar_pfn(pdev, bar, vma); in pci_mmap_resource_range() 45 vma->vm_pgoff += (pci_resource_start(pdev, bar) >> PAGE_SHIFT); in pci_mmap_resource_range() 47 vma->vm_ops = &pci_phys_vm_ops; in pci_mmap_resource_range() 49 return io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, in pci_mmap_resource_range() 50 vma->vm_end - vma->vm_start, in pci_mmap_resource_range() 51 vma->vm_page_prot); in pci_mmap_resource_range() [all …]
|
| /linux/fs/proc/ |
| H A D | task_mmu.c | 186 struct vm_area_struct *vma; in get_next_vma() local 192 vma = lock_next_vma(lock_ctx->mm, &priv->iter, last_pos); in get_next_vma() 193 if (!IS_ERR_OR_NULL(vma)) in get_next_vma() 194 lock_ctx->locked_vma = vma; in get_next_vma() 196 return vma; in get_next_vma() 246 struct vm_area_struct *vma; in proc_get_vma() local 249 vma = get_next_vma(priv, *ppos); in proc_get_vma() 251 if (IS_ERR(vma)) { in proc_get_vma() 252 if (PTR_ERR(vma) == -EAGAIN && fallback_to_mmap_lock(priv, *ppos)) in proc_get_vma() 255 return vma; in proc_get_vma() [all …]
|