Lines Matching full:image

50 int __init init_vdso_image(const struct vdso_image *image)  in init_vdso_image()  argument
53 BUG_ON(image->size % PAGE_SIZE != 0); in init_vdso_image()
55 apply_alternatives((struct alt_instr *)(image->data + image->alt), in init_vdso_image()
56 (struct alt_instr *)(image->data + image->alt + in init_vdso_image()
57 image->alt_len)); in init_vdso_image()
68 const struct vdso_image *image = vma->vm_mm->context.vdso_image; in vdso_fault() local
70 if (!image || (vmf->pgoff << PAGE_SHIFT) >= image->size) in vdso_fault()
73 vmf->page = virt_to_page(image->data + (vmf->pgoff << PAGE_SHIFT)); in vdso_fault()
78 static void vdso_fix_landing(const struct vdso_image *image, in vdso_fix_landing() argument
82 if (in_ia32_syscall() && image == &vdso_image_32) { in vdso_fix_landing()
84 unsigned long vdso_land = image->sym_int80_landing_pad; in vdso_fix_landing()
98 const struct vdso_image *image = current->mm->context.vdso_image; in vdso_mremap() local
100 vdso_fix_landing(image, new_vma); in vdso_mremap()
134 const struct vdso_image *image = vma->vm_mm->context.vdso_image; in vvar_fault() local
138 if (!image) in vvar_fault()
142 image->sym_vvar_start; in vvar_fault()
146 * does not exist for this vdso image, not that the page is at in vvar_fault()
154 if (sym_offset == image->sym_vvar_page) { in vvar_fault()
176 addr = vmf->address + (image->sym_timens_page - sym_offset); in vvar_fault()
185 } else if (sym_offset == image->sym_pvclock_page) { in vvar_fault()
193 } else if (sym_offset == image->sym_hvclock_page) { in vvar_fault()
198 } else if (sym_offset == image->sym_timens_page) { in vvar_fault()
223 * @image - blob to map
226 static int map_vdso(const struct vdso_image *image, unsigned long addr) in map_vdso() argument
237 image->size - image->sym_vvar_start, 0, 0); in map_vdso()
243 text_start = addr - image->sym_vvar_start; in map_vdso()
250 image->size, in map_vdso()
262 -image->sym_vvar_start, in map_vdso()
269 do_munmap(mm, text_start, image->size, NULL); in map_vdso()
272 current->mm->context.vdso_image = image; in map_vdso()
280 int map_vdso_once(const struct vdso_image *image, unsigned long addr) in map_vdso_once() argument
303 return map_vdso(image, addr); in map_vdso_once()
353 const struct vdso_image *image = current->mm->context.vdso_image; in arch_syscall_is_vdso_sigreturn() local
356 if (in_ia32_syscall() && image == &vdso_image_32) { in arch_syscall_is_vdso_sigreturn()
357 if (regs->ip == vdso + image->sym_vdso32_sigreturn_landing_pad || in arch_syscall_is_vdso_sigreturn()
358 regs->ip == vdso + image->sym_vdso32_rt_sigreturn_landing_pad) in arch_syscall_is_vdso_sigreturn()