есть такая функция:
static int map_vdso_randomized(const struct vdso_image *image)
где
struct vdso_image
описана в файле
/arch/x86/include/asm/vdso.h
тело описания структуры ниже:
struct vdso_image {
void *data;
unsigned long size; /* Always a multiple of PAGE_SIZE */
unsigned long alt, alt_len;
long sym_vvar_start; /* Negative offset to the vvar area */
long sym_vvar_page;
long sym_hpet_page;
long sym_pvclock_page;
long sym_hvclock_page;
long sym_VDSO32_NOTE_MASK;
long sym___kernel_sigreturn;
long sym___kernel_rt_sigreturn;
long sym___kernel_vsyscall;
long sym_int80_landing_pad;
};
под отладчиком на ядре собранном из сорцев с отладочными символами я вижу следующее:
251 static int map_vdso_randomized(const struct vdso_image *image)
→ 252 {
253 unsigned long addr = vdso_addr(current->mm->start_stack, image->size-image->sym_vvar_start);
254
255 return map_vdso(image, addr);
256 }