Lines Matching refs:image

47 void __init init_vdso_image(const struct vdso_image *image)
49 BUG_ON(image->size % PAGE_SIZE != 0);
51 apply_alternatives((struct alt_instr *)(image->data + image->alt),
52 (struct alt_instr *)(image->data + image->alt +
53 image->alt_len));
62 const struct vdso_image *image = vma->vm_mm->context.vdso_image;
64 if (!image || (vmf->pgoff << PAGE_SHIFT) >= image->size)
67 vmf->page = virt_to_page(image->data + (vmf->pgoff << PAGE_SHIFT));
72 static void vdso_fix_landing(const struct vdso_image *image,
76 if (in_ia32_syscall() && image == &vdso_image_32) {
78 unsigned long vdso_land = image->sym_int80_landing_pad;
93 const struct vdso_image *image = current->mm->context.vdso_image;
95 if (image->size != new_size)
98 vdso_fix_landing(image, new_vma);
107 const struct vdso_image *image = new_vma->vm_mm->context.vdso_image;
110 if (new_size != -image->sym_vvar_start)
169 const struct vdso_image *image = vma->vm_mm->context.vdso_image;
173 if (!image)
177 image->sym_vvar_start;
181 * does not exist for this vdso image, not that the page is at
189 if (sym_offset == image->sym_vvar_page) {
211 addr = vmf->address + (image->sym_timens_page - sym_offset);
220 } else if (sym_offset == image->sym_pvclock_page) {
228 } else if (sym_offset == image->sym_hvclock_page) {
234 } else if (sym_offset == image->sym_timens_page) {
260 * @image - blob to map
263 static int map_vdso(const struct vdso_image *image, unsigned long addr)
274 image->size - image->sym_vvar_start, 0, 0);
280 text_start = addr - image->sym_vvar_start;
287 image->size,
299 -image->sym_vvar_start,
306 do_munmap(mm, text_start, image->size, NULL);
309 current->mm->context.vdso_image = image;
362 static int map_vdso_randomized(const struct vdso_image *image)
364 unsigned long addr = vdso_addr(current->mm->start_stack, image->size-image->sym_vvar_start);
366 return map_vdso(image, addr);
370 int map_vdso_once(const struct vdso_image *image, unsigned long addr)
392 return map_vdso(image, addr);