| /linux/mm/ |
| H A D | memory.c | 97 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 D | swap_state.c | 410 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 D | datastore.c | 67 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 D | privcmd-buf.c | 118 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 D | mshv_vtl_main.c | 799 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 D | sysfs.c | 109 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 D | context.c | 139 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 D | alpha-agp.c | 14 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 D | usX2Yhwdep.c | 21 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 D | nouveau_dmem.c | 183 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 D | file.c | 800 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 D | armada_gem.c | 21 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 D | file.c | 230 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 D | mbochs.c | 773 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 D | write.c | 273 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 D | book3s_xive_native.c | 228 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 D | book3s_64_vio.c | 229 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 D | book3s_hv_uvmem.c | 998 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 D | mempolicy.h | 172 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 D | i915_gem_ttm.c | 1042 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 D | guest_memfd.c | 391 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 D | cacheflush.h | 61 static inline void update_mmu_cache_range(struct vm_fault *vmf, in update_mmu_cache_range() argument
|
| /linux/arch/microblaze/include/asm/ |
| H A D | tlbflush.h | 36 #define update_mmu_cache_range(vmf, vma, addr, ptep, nr) do { } while (0) argument
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_gem.c | 119 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 D | arena.c | 479 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()
|