Lines Matching refs:vma
223 struct vm_area_struct *vma; member
228 static int remember_vma(struct bpf_arena *arena, struct vm_area_struct *vma) in remember_vma() argument
236 vma->vm_private_data = vml; in remember_vma()
237 vml->vma = vma; in remember_vma()
242 static void arena_vm_open(struct vm_area_struct *vma) in arena_vm_open() argument
244 struct vma_list *vml = vma->vm_private_data; in arena_vm_open()
249 static void arena_vm_close(struct vm_area_struct *vma) in arena_vm_close() argument
251 struct bpf_map *map = vma->vm_file->private_data; in arena_vm_close()
253 struct vma_list *vml = vma->vm_private_data; in arena_vm_close()
260 vma->vm_private_data = NULL; in arena_vm_close()
266 struct bpf_map *map = vmf->vma->vm_file->private_data; in arena_vm_fault()
348 static int arena_map_mmap(struct bpf_map *map, struct vm_area_struct *vma) in arena_map_mmap() argument
353 if (arena->user_vm_start && arena->user_vm_start != vma->vm_start) in arena_map_mmap()
364 if (arena->user_vm_end && arena->user_vm_end != vma->vm_end) in arena_map_mmap()
369 if (WARN_ON_ONCE(vma->vm_end - vma->vm_start > SZ_4G || vma->vm_pgoff)) in arena_map_mmap()
372 if (remember_vma(arena, vma)) in arena_map_mmap()
375 arena->user_vm_start = vma->vm_start; in arena_map_mmap()
376 arena->user_vm_end = vma->vm_end; in arena_map_mmap()
382 vm_flags_set(vma, VM_DONTEXPAND); in arena_map_mmap()
383 vma->vm_ops = &arena_vm_ops; in arena_map_mmap()
506 zap_page_range_single(vml->vma, uaddr, in zap_pages()