Home
last modified time | relevance | path

Searched refs:vmf (Results 1 – 25 of 82) sorted by relevance

1234

/linux/mm/
H A Dmemory.c97 static vm_fault_t do_fault(struct vm_fault *vmf);
98 static vm_fault_t do_anonymous_page(struct vm_fault *vmf);
99 static bool vmf_pte_changed(struct vm_fault *vmf);
105 static __always_inline bool vmf_orig_pte_uffd_wp(struct vm_fault *vmf) in vmf_orig_pte_uffd_wp() argument
107 if (!userfaultfd_wp(vmf->vma)) in vmf_orig_pte_uffd_wp()
109 if (!(vmf->flags & FAULT_FLAG_ORIG_PTE_VALID)) in vmf_orig_pte_uffd_wp()
112 return pte_is_uffd_wp_marker(vmf->orig_pte); in vmf_orig_pte_uffd_wp()
2937 vm_fault_t vmf_insert_page_mkwrite(struct vm_fault *vmf, struct page *page, in remap_pmd_range()
2940 pgprot_t pgprot = vmf->vma->vm_page_prot; in remap_pmd_range()
2941 unsigned long addr = vmf in remap_pmd_range()
2868 vmf_insert_page_mkwrite(struct vm_fault * vmf,struct page * page,bool write) vmf_insert_page_mkwrite() argument
3534 pte_unmap_same(struct vm_fault * vmf) pte_unmap_same() argument
3556 __wp_page_copy_user(struct page * dst,struct page * src,struct vm_fault * vmf) __wp_page_copy_user() argument
3673 do_page_mkwrite(struct vm_fault * vmf,struct folio * folio) do_page_mkwrite() argument
3706 fault_dirty_shared_page(struct vm_fault * vmf) fault_dirty_shared_page() argument
3759 wp_page_reuse(struct vm_fault * vmf,struct folio * folio) wp_page_reuse() argument
3793 vmf_can_call_fault(const struct vm_fault * vmf) vmf_can_call_fault() argument
3818 __vmf_anon_prepare(struct vm_fault * vmf) __vmf_anon_prepare() argument
3853 wp_page_copy(struct vm_fault * vmf) wp_page_copy() argument
4021 finish_mkwrite_fault(struct vm_fault * vmf,struct folio * folio) finish_mkwrite_fault() argument
4045 wp_pfn_shared(struct vm_fault * vmf) wp_pfn_shared() argument
4067 wp_page_shared(struct vm_fault * vmf,struct folio * folio) wp_page_shared() argument
4244 do_wp_page(struct vm_fault * vmf) do_wp_page() argument
4464 remove_device_exclusive_entry(struct vm_fault * vmf) remove_device_exclusive_entry() argument
4541 pte_marker_clear(struct vm_fault * vmf) pte_marker_clear() argument
4561 do_pte_missing(struct vm_fault * vmf) do_pte_missing() argument
4573 pte_marker_handle_uffd_wp(struct vm_fault * vmf) pte_marker_handle_uffd_wp() argument
4585 handle_pte_marker(struct vm_fault * vmf) handle_pte_marker() argument
4616 can_swapin_thp(struct vm_fault * vmf,pte_t * ptep,int nr_pages) can_swapin_thp() argument
4661 thp_swapin_suitable_orders(struct vm_fault * vmf) thp_swapin_suitable_orders() argument
4722 thp_swapin_suitable_orders(struct vm_fault * vmf) thp_swapin_suitable_orders() argument
4747 do_swap_page(struct vm_fault * vmf) do_swap_page() argument
5161 alloc_anon_folio(struct vm_fault * vmf) alloc_anon_folio() argument
5287 do_anonymous_page(struct vm_fault * vmf) do_anonymous_page() argument
5398 __do_fault(struct vm_fault * vmf) __do_fault() argument
5455 deposit_prealloc_pte(struct vm_fault * vmf) deposit_prealloc_pte() argument
5468 do_set_pmd(struct vm_fault * vmf,struct folio * folio,struct page * page) do_set_pmd() argument
5544 do_set_pmd(struct vm_fault * vmf,struct folio * folio,struct page * page) do_set_pmd() argument
5558 set_pte_range(struct vm_fault * vmf,struct folio * folio,struct page * page,unsigned int nr,unsigned long addr) set_pte_range() argument
5594 vmf_pte_changed(struct vm_fault * vmf) vmf_pte_changed() argument
5617 finish_fault(struct vm_fault * vmf) finish_fault() argument
5794 do_fault_around(struct vm_fault * vmf) do_fault_around() argument
5827 should_fault_around(struct vm_fault * vmf) should_fault_around() argument
5840 do_read_fault(struct vm_fault * vmf) do_read_fault() argument
5872 do_cow_fault(struct vm_fault * vmf) do_cow_fault() argument
5914 do_shared_fault(struct vm_fault * vmf) do_shared_fault() argument
5964 do_fault(struct vm_fault * vmf) do_fault() argument
6008 numa_migrate_check(struct folio * folio,struct vm_fault * vmf,unsigned long addr,int * flags,bool writable,int * last_cpupid) numa_migrate_check() argument
6055 numa_rebuild_single_mapping(struct vm_fault * vmf,struct vm_area_struct * vma,unsigned long fault_addr,pte_t * fault_pte,bool writable) numa_rebuild_single_mapping() argument
6070 numa_rebuild_large_mapping(struct vm_fault * vmf,struct vm_area_struct * vma,struct folio * folio,pte_t fault_pte,bool ignore_writable,bool pte_write_upgrade) numa_rebuild_large_mapping() argument
6109 do_numa_page(struct vm_fault * vmf) do_numa_page() argument
6200 create_huge_pmd(struct vm_fault * vmf) create_huge_pmd() argument
6211 wp_huge_pmd(struct vm_fault * vmf) wp_huge_pmd() argument
6242 create_huge_pud(struct vm_fault * vmf) create_huge_pud() argument
6256 wp_huge_pud(struct vm_fault * vmf,pud_t orig_pud) wp_huge_pud() argument
6298 fix_spurious_fault(struct vm_fault * vmf,enum pgtable_level ptlevel) fix_spurious_fault() argument
6335 handle_pte_fault(struct vm_fault * vmf) handle_pte_fault() argument
6420 struct vm_fault vmf = { __handle_mm_fault() local
[all...]
H A Dswap_state.c410 unsigned int order, struct vm_fault *vmf, in __swap_cache_alloc()
419 struct vm_area_struct *vma = vmf ? vmf->vma : NULL; in __swap_cache_alloc()
438 if (mpol || !vmf) { in __swap_cache_alloc()
441 address = round_down(vmf->address, PAGE_SIZE << order); in __swap_cache_alloc()
442 folio = vma_alloc_folio(gfp, order, vmf->vma, address); in __swap_cache_alloc()
462 vmf ? vmf->vma->vm_mm : NULL, gfp)) { in __swap_cache_alloc()
501 * @vmf: fault information
514 unsigned long orders, struct vm_fault *vmf, in swap_cache_alloc_folio()
405 __swap_cache_alloc(struct swap_cluster_info * ci,swp_entry_t targ_entry,gfp_t gfp,unsigned int order,struct vm_fault * vmf,struct mempolicy * mpol,pgoff_t ilx) __swap_cache_alloc() argument
509 swap_cache_alloc_folio(swp_entry_t targ_entry,gfp_t gfp,unsigned long orders,struct vm_fault * vmf,struct mempolicy * mpol,pgoff_t ilx) swap_cache_alloc_folio() argument
678 swapin_sync(swp_entry_t entry,gfp_t gfp,unsigned long orders,struct vm_fault * vmf,struct mempolicy * mpol,pgoff_t ilx) swapin_sync() argument
845 swap_vma_ra_win(struct vm_fault * vmf,unsigned long * start,unsigned long * end) swap_vma_ra_win() argument
900 swap_vma_readahead(swp_entry_t targ_entry,gfp_t gfp_mask,struct mempolicy * mpol,pgoff_t targ_ilx,struct vm_fault * vmf) swap_vma_readahead() argument
975 swapin_readahead(swp_entry_t entry,gfp_t gfp_mask,struct vm_fault * vmf) swapin_readahead() argument
[all...]
/linux/lib/vdso/
H A Ddatastore.c67 struct vm_area_struct *vma, struct vm_fault *vmf) in vvar_fault()
71 if (unlikely(vmf->flags & FAULT_FLAG_REMOTE)) in vvar_fault()
74 page = vdso_data_pages + vmf->pgoff; in vvar_fault()
77 switch (vmf->pgoff) { in vvar_fault()
88 addr = vmf->address + VDSO_TIMENS_PAGE_OFFSET * PAGE_SIZE; in vvar_fault()
114 vmf->page = page; in vvar_fault()
66 vvar_fault(const struct vm_special_mapping * sm,struct vm_area_struct * vma,struct vm_fault * vmf) vvar_fault() argument
/linux/drivers/xen/
H A Dprivcmd-buf.c118 static vm_fault_t privcmd_buf_vma_fault(struct vm_fault *vmf) in privcmd_buf_vma_fault() argument
121 vmf->vma, vmf->vma->vm_start, vmf->vma->vm_end, in privcmd_buf_vma_fault()
122 vmf->pgoff, (void *)vmf->address); in privcmd_buf_vma_fault()
/linux/drivers/hv/
H A Dmshv_vtl_main.c799 static vm_fault_t mshv_vtl_fault(struct vm_fault *vmf) in mshv_vtl_fault() argument
802 int cpu = vmf->pgoff & MSHV_PG_OFF_CPU_MASK; in mshv_vtl_fault()
803 int real_off = vmf->pgoff >> MSHV_REAL_OFF_SHIFT; in mshv_vtl_fault()
823 vmf->page = page; in mshv_vtl_fault()
1232 static bool can_fault(struct vm_fault *vmf, unsigned long size, unsigned long *pfn) in can_fault() argument
1235 unsigned long start = vmf->address & ~mask; in can_fault()
1239 is_valid = (vmf->address & mask) == ((vmf->pgoff << PAGE_SHIFT) & mask) && in can_fault()
1240 start >= vmf->vma->vm_start && in can_fault()
1241 end <= vmf->vma->vm_end; in can_fault()
1244 *pfn = vmf->pgoff & ~(mask >> PAGE_SHIFT); in can_fault()
[all …]
/linux/drivers/misc/ocxl/
H A Dsysfs.c109 static vm_fault_t global_mmio_fault(struct vm_fault *vmf) in global_mmio_fault() argument
111 struct vm_area_struct *vma = vmf->vma; in global_mmio_fault()
115 if (vmf->pgoff >= (afu->config.global_mmio_size >> PAGE_SHIFT)) in global_mmio_fault()
118 offset = vmf->pgoff; in global_mmio_fault()
120 return vmf_insert_pfn(vma, vmf->address, offset); in global_mmio_fault()
H A Dcontext.c139 static vm_fault_t ocxl_mmap_fault(struct vm_fault *vmf) in ocxl_mmap_fault() argument
141 struct vm_area_struct *vma = vmf->vma; in ocxl_mmap_fault()
146 offset = vmf->pgoff << PAGE_SHIFT; in ocxl_mmap_fault()
148 ctx->pasid, vmf->address, offset); in ocxl_mmap_fault()
151 ret = map_pp_mmio(vma, vmf->address, offset, ctx); in ocxl_mmap_fault()
153 ret = map_afu_irq(vma, vmf->address, offset, ctx); in ocxl_mmap_fault()
/linux/drivers/char/agp/
H A Dalpha-agp.c14 static vm_fault_t alpha_core_agp_vm_fault(struct vm_fault *vmf) in alpha_core_agp_vm_fault() argument
21 dma_addr = vmf->address - vmf->vma->vm_start + agp->aperture.bus_base; in alpha_core_agp_vm_fault()
32 vmf->page = page; in alpha_core_agp_vm_fault()
/linux/sound/usb/usx2y/
H A DusX2Yhwdep.c21 static vm_fault_t snd_us428ctls_vm_fault(struct vm_fault *vmf) in snd_us428ctls_vm_fault() argument
27 offset = vmf->pgoff << PAGE_SHIFT; in snd_us428ctls_vm_fault()
30 vaddr = (char *)((struct usx2ydev *)vmf->vma->vm_private_data)->us428ctls_sharedmem + offset; in snd_us428ctls_vm_fault()
33 vmf->page = page; in snd_us428ctls_vm_fault()
/linux/drivers/gpu/drm/nouveau/
H A Dnouveau_dmem.c183 static vm_fault_t nouveau_dmem_migrate_to_ram(struct vm_fault *vmf) in nouveau_dmem_migrate_to_ram() argument
185 struct nouveau_drm *drm = page_to_drm(vmf->page); in nouveau_dmem_migrate_to_ram()
193 .vma = vmf->vma, in nouveau_dmem_migrate_to_ram()
195 .fault_page = vmf->page, in nouveau_dmem_migrate_to_ram()
205 sfolio = page_folio(vmf->page); in nouveau_dmem_migrate_to_ram()
213 if (vmf->pte) { in nouveau_dmem_migrate_to_ram()
221 args.start = ALIGN_DOWN(vmf->address, (PAGE_SIZE << order)); in nouveau_dmem_migrate_to_ram()
222 args.vma = vmf->vma; in nouveau_dmem_migrate_to_ram()
243 order, vmf->vma, vmf->address), 0); in nouveau_dmem_migrate_to_ram()
245 dpage = alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO, vmf->vma, in nouveau_dmem_migrate_to_ram()
[all …]
/linux/fs/ext4/
H A Dfile.c800 static vm_fault_t ext4_dax_huge_fault(struct vm_fault *vmf, unsigned int order) in ext4_dax_huge_fault() argument
806 struct inode *inode = file_inode(vmf->vma->vm_file); in ext4_dax_huge_fault()
820 bool write = (vmf->flags & FAULT_FLAG_WRITE) && in ext4_dax_huge_fault()
821 (vmf->vma->vm_flags & VM_SHARED); in ext4_dax_huge_fault()
822 struct address_space *mapping = vmf->vma->vm_file->f_mapping; in ext4_dax_huge_fault()
827 file_update_time(vmf->vma->vm_file); in ext4_dax_huge_fault()
840 result = dax_iomap_fault(vmf, order, &pfn, &error, &ext4_iomap_ops); in ext4_dax_huge_fault()
849 result = dax_finish_sync_fault(vmf, order, pfn); in ext4_dax_huge_fault()
859 static vm_fault_t ext4_dax_fault(struct vm_fault *vmf) in ext4_dax_fault() argument
861 return ext4_dax_huge_fault(vmf, 0); in ext4_dax_fault()
/linux/drivers/gpu/drm/armada/
H A Darmada_gem.c21 static vm_fault_t armada_gem_vm_fault(struct vm_fault *vmf) in armada_gem_vm_fault() argument
23 struct drm_gem_object *gobj = vmf->vma->vm_private_data; in armada_gem_vm_fault()
27 pfn += (vmf->address - vmf->vma->vm_start) >> PAGE_SHIFT; in armada_gem_vm_fault()
28 return vmf_insert_pfn(vmf->vma, vmf->address, pfn); in armada_gem_vm_fault()
/linux/arch/powerpc/platforms/cell/spufs/
H A Dfile.c230 spufs_mem_mmap_fault(struct vm_fault *vmf) in spufs_mem_mmap_fault() argument
232 struct vm_area_struct *vma = vmf->vma; in spufs_mem_mmap_fault()
237 offset = vmf->pgoff << PAGE_SHIFT; in spufs_mem_mmap_fault()
242 vmf->address, offset); in spufs_mem_mmap_fault()
254 ret = vmf_insert_pfn(vma, vmf->address, pfn); in spufs_mem_mmap_fault()
312 static vm_fault_t spufs_ps_fault(struct vm_fault *vmf, in spufs_ps_fault() argument
316 struct spu_context *ctx = vmf->vma->vm_file->private_data; in spufs_ps_fault()
317 unsigned long area, offset = vmf->pgoff << PAGE_SHIFT; in spufs_ps_fault()
355 ret = vmf_insert_pfn(vmf->vma, vmf->address, in spufs_ps_fault()
369 static vm_fault_t spufs_cntl_mmap_fault(struct vm_fault *vmf) in spufs_cntl_mmap_fault() argument
[all …]
/linux/samples/vfio-mdev/
H A Dmbochs.c773 static vm_fault_t mbochs_region_vm_fault(struct vm_fault *vmf) in mbochs_region_vm_fault() argument
775 struct vm_area_struct *vma = vmf->vma; in mbochs_region_vm_fault()
777 pgoff_t page_offset = (vmf->address - vma->vm_start) >> PAGE_SHIFT; in mbochs_region_vm_fault()
782 vmf->page = mbochs_get_page(mdev_state, page_offset); in mbochs_region_vm_fault()
783 if (!vmf->page) in mbochs_region_vm_fault()
812 static vm_fault_t mbochs_dmabuf_vm_fault(struct vm_fault *vmf) in mbochs_dmabuf_vm_fault() argument
814 struct vm_area_struct *vma = vmf->vma; in mbochs_dmabuf_vm_fault()
817 if (WARN_ON(vmf->pgoff >= dmabuf->pagecount)) in mbochs_dmabuf_vm_fault()
820 vmf->page = dmabuf->pages[vmf->pgoff]; in mbochs_dmabuf_vm_fault()
821 get_page(vmf->page); in mbochs_dmabuf_vm_fault()
/linux/fs/afs/
H A Dwrite.c273 vm_fault_t afs_page_mkwrite(struct vm_fault *vmf) in afs_page_mkwrite() argument
275 struct file *file = vmf->vma->vm_file; in afs_page_mkwrite()
279 return netfs_page_mkwrite(vmf, NULL); in afs_page_mkwrite()
/linux/arch/powerpc/kvm/
H A Dbook3s_xive_native.c228 static vm_fault_t xive_native_esb_fault(struct vm_fault *vmf) in xive_native_esb_fault() argument
230 struct vm_area_struct *vma = vmf->vma; in xive_native_esb_fault()
246 page_offset = vmf->pgoff - vma->vm_pgoff; in xive_native_esb_fault()
280 vmf_insert_pfn(vma, vmf->address, page >> PAGE_SHIFT); in xive_native_esb_fault()
288 static vm_fault_t xive_native_tima_fault(struct vm_fault *vmf) in xive_native_tima_fault() argument
290 struct vm_area_struct *vma = vmf->vma; in xive_native_tima_fault()
292 switch (vmf->pgoff - vma->vm_pgoff) { in xive_native_tima_fault()
297 vmf_insert_pfn(vma, vmf->address, xive_tima_os >> PAGE_SHIFT); in xive_native_tima_fault()
H A Dbook3s_64_vio.c229 static vm_fault_t kvm_spapr_tce_fault(struct vm_fault *vmf) in kvm_spapr_tce_fault() argument
231 struct kvmppc_spapr_tce_table *stt = vmf->vma->vm_file->private_data; in kvm_spapr_tce_fault()
234 if (vmf->pgoff >= kvmppc_tce_pages(stt->size)) in kvm_spapr_tce_fault()
237 page = kvm_spapr_get_tce_page(stt, vmf->pgoff); in kvm_spapr_tce_fault()
242 vmf->page = page; in kvm_spapr_tce_fault()
H A Dbook3s_hv_uvmem.c998 static vm_fault_t kvmppc_uvmem_migrate_to_ram(struct vm_fault *vmf) in kvmppc_uvmem_migrate_to_ram() argument
1000 struct kvmppc_uvmem_page_pvt *pvt = vmf->page->zone_device_data; in kvmppc_uvmem_migrate_to_ram()
1002 if (kvmppc_svm_page_out(vmf->vma, vmf->address, in kvmppc_uvmem_migrate_to_ram()
1003 vmf->address + PAGE_SIZE, PAGE_SHIFT, in kvmppc_uvmem_migrate_to_ram()
1004 pvt->kvm, pvt->gpa, vmf->page)) in kvmppc_uvmem_migrate_to_ram()
/linux/include/linux/
H A Dmempolicy.h172 int mpol_misplaced(struct folio *folio, struct vm_fault *vmf,
291 struct vm_fault *vmf, in mpol_misplaced() argument
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_ttm.c1042 static vm_fault_t vm_fault_ttm(struct vm_fault *vmf) in vm_fault_ttm() argument
1044 struct vm_area_struct *area = vmf->vma; in vm_fault_ttm()
1057 ret = ttm_bo_vm_reserve(bo, vmf); in vm_fault_ttm()
1118 ret = ttm_bo_vm_fault_reserved(vmf, vmf->vma->vm_page_prot, in vm_fault_ttm()
1122 ret = ttm_bo_vm_dummy_page(vmf, vmf->vma->vm_page_prot); in vm_fault_ttm()
1125 if (ret == VM_FAULT_RETRY && !(vmf->flags & FAULT_FLAG_RETRY_NOWAIT)) in vm_fault_ttm()
/linux/virt/kvm/
H A Dguest_memfd.c391 static vm_fault_t kvm_gmem_fault_user_mapping(struct vm_fault *vmf) in kvm_gmem_fault_user_mapping() argument
393 struct inode *inode = file_inode(vmf->vma->vm_file); in kvm_gmem_fault_user_mapping()
397 if (((loff_t)vmf->pgoff << PAGE_SHIFT) >= i_size_read(inode)) in kvm_gmem_fault_user_mapping()
403 folio = kvm_gmem_get_folio(inode, vmf->pgoff); in kvm_gmem_fault_user_mapping()
421 vmf->page = folio_file_page(folio, vmf->pgoff); in kvm_gmem_fault_user_mapping()
/linux/arch/hexagon/include/asm/
H A Dcacheflush.h61 static inline void update_mmu_cache_range(struct vm_fault *vmf, in update_mmu_cache_range() argument
/linux/arch/microblaze/include/asm/
H A Dtlbflush.h36 #define update_mmu_cache_range(vmf, vma, addr, ptep, nr) do { } while (0) argument
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_gem.c119 static vm_fault_t amdgpu_gem_fault(struct vm_fault *vmf) in amdgpu_gem_fault() argument
121 struct ttm_buffer_object *bo = vmf->vma->vm_private_data; in amdgpu_gem_fault()
126 ret = ttm_bo_vm_reserve(bo, vmf); in amdgpu_gem_fault()
137 ret = ttm_bo_vm_fault_reserved(vmf, vmf->vma->vm_page_prot, in amdgpu_gem_fault()
142 ret = ttm_bo_vm_dummy_page(vmf, vmf->vma->vm_page_prot); in amdgpu_gem_fault()
144 if (ret == VM_FAULT_RETRY && !(vmf->flags & FAULT_FLAG_RETRY_NOWAIT)) in amdgpu_gem_fault()
/linux/kernel/bpf/
H A Darena.c479 static vm_fault_t arena_vm_fault(struct vm_fault *vmf) in arena_vm_fault() argument
481 struct bpf_map *map = vmf->vma->vm_file->private_data; in arena_vm_fault()
490 kaddr = kbase + (u32)(vmf->address); in arena_vm_fault()
515 ret = range_tree_clear(&arena->rt, vmf->pgoff, 1); in arena_vm_fault()
523 range_tree_set(&arena->rt, vmf->pgoff, 1); in arena_vm_fault()
529 range_tree_set(&arena->rt, vmf->pgoff, 1); in arena_vm_fault()
538 vmf->page = page; in arena_vm_fault()

1234