Lines Matching full:image

44 int __init init_vdso_image(const struct vdso_image *image)  in init_vdso_image()  argument
47 BUG_ON(image->size % PAGE_SIZE != 0); in init_vdso_image()
49 apply_alternatives((struct alt_instr *)(image->data + image->alt), in init_vdso_image()
50 (struct alt_instr *)(image->data + image->alt + in init_vdso_image()
51 image->alt_len), in init_vdso_image()
63 const struct vdso_image *image = vma->vm_mm->context.vdso_image; in vdso_fault() local
65 if (!image || (vmf->pgoff << PAGE_SHIFT) >= image->size) in vdso_fault()
68 vmf->page = virt_to_page(image->data + (vmf->pgoff << PAGE_SHIFT)); in vdso_fault()
73 static void vdso_fix_landing(const struct vdso_image *image, in vdso_fix_landing() argument
77 if (in_ia32_syscall() && image == &vdso_image_32) { in vdso_fix_landing()
79 unsigned long vdso_land = image->sym_int80_landing_pad; in vdso_fix_landing()
93 const struct vdso_image *image = current->mm->context.vdso_image; in vdso_mremap() local
95 vdso_fix_landing(image, new_vma); in vdso_mremap()
129 const struct vdso_image *image = vma->vm_mm->context.vdso_image; in vvar_fault() local
133 if (!image) in vvar_fault()
137 image->sym_vvar_start; in vvar_fault()
141 * does not exist for this vdso image, not that the page is at in vvar_fault()
149 if (sym_offset == image->sym_vvar_page) { in vvar_fault()
171 addr = vmf->address + (image->sym_timens_page - sym_offset); in vvar_fault()
181 } else if (sym_offset == image->sym_timens_page) { in vvar_fault()
242 * @image - blob to map
245 static int map_vdso(const struct vdso_image *image, unsigned long addr) in map_vdso() argument
256 image->size - image->sym_vvar_start, 0, 0); in map_vdso()
262 text_start = addr - image->sym_vvar_start; in map_vdso()
269 image->size, in map_vdso()
288 do_munmap(mm, text_start, image->size, NULL); in map_vdso()
301 do_munmap(mm, text_start, image->size, NULL); in map_vdso()
302 do_munmap(mm, addr, image->size, NULL); in map_vdso()
307 current->mm->context.vdso_image = image; in map_vdso()
314 int map_vdso_once(const struct vdso_image *image, unsigned long addr) in map_vdso_once() argument
338 return map_vdso(image, addr); in map_vdso_once()
388 const struct vdso_image *image = current->mm->context.vdso_image; in arch_syscall_is_vdso_sigreturn() local
391 if (in_ia32_syscall() && image == &vdso_image_32) { in arch_syscall_is_vdso_sigreturn()
392 if (regs->ip == vdso + image->sym_vdso32_sigreturn_landing_pad || in arch_syscall_is_vdso_sigreturn()
393 regs->ip == vdso + image->sym_vdso32_rt_sigreturn_landing_pad) in arch_syscall_is_vdso_sigreturn()