vdso_base
unsigned long vdso_base, vdso_text_len, vdso_mapping_len;
vdso_base = get_unmapped_area(NULL, 0, vdso_mapping_len, 0, 0);
if (IS_ERR_VALUE(vdso_base)) {
ret = ERR_PTR(vdso_base);
ret = vdso_install_vvar_mapping(mm, vdso_base);
vdso_base += VDSO_NR_PAGES * PAGE_SIZE;
mm->context.vdso = (void *)vdso_base;
ret = _install_special_mapping(mm, vdso_base, vdso_text_len,
unsigned long vdso_base, vdso_len;
vdso_base = get_unmapped_area(NULL, 0, vdso_len, 0, 0);
if (IS_ERR_VALUE(vdso_base)) {
ret = vdso_base;
mm->context.vdso = (void *)vdso_base;
_install_special_mapping(mm, vdso_base, vdso_pages << PAGE_SHIFT,
vdso_base += (vdso_pages << PAGE_SHIFT);
unsigned long vdso_base;
vdso_base = STACK_TOP;
vdso_base = get_unmapped_area(NULL, vdso_base, PAGE_SIZE, 0, 0);
if (IS_ERR_VALUE(vdso_base)) {
ret = vdso_base;
vma = _install_special_mapping(mm, vdso_base, PAGE_SIZE,
mm->context.vdso = (void *)vdso_base;
data_addr = get_unmapped_area(NULL, vdso_base(), size, 0, 0);
base = get_unmapped_area(NULL, vdso_base(), size, 0, 0);
#define VDSO_CURRENT_BASE current->mm->context.vdso_base
unsigned long vdso_base;
#define VDSO64_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso64_offset_##name))
#define VDSO32_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso32_offset_##name))
current->mm->context.vdso_base = vma->vm_start;
current->mm->context.vdso_base = vdso_text_start;
unsigned long vdso_size, vdso_base, mappings_size;
vdso_base = get_unmapped_area(NULL, 0, mappings_size, 0, 0);
if (IS_ERR_VALUE(vdso_base))
return vdso_base;
vdso_base = ALIGN(vdso_base, VDSO_ALIGNMENT);
vma = vdso_install_vvar_mapping(mm, vdso_base);
vma = _install_special_mapping(mm, vdso_base + vvar_size, vdso_size,
do_munmap(mm, vdso_base, vvar_size, NULL);
mm->context.vdso = (void __user *)vdso_base + vvar_size;
unsigned long vdso_base, vdso_text_len, vdso_mapping_len;
vdso_base = get_unmapped_area(NULL, 0, vdso_mapping_len, 0, 0);
if (IS_ERR_VALUE(vdso_base)) {
ret = ERR_PTR(vdso_base);
ret = vdso_install_vvar_mapping(mm, vdso_base);
vdso_base += VVAR_SIZE;
mm->context.vdso = (void *)vdso_base;
_install_special_mapping(mm, vdso_base, vdso_text_len,
(unsigned long)current->mm->context.vdso_base); \
unsigned long vdso_base;
#define VDSO_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso_offset_##name))
return in_range(ip, current->mm->context.vdso_base, vdso_text_size());
current->mm->context.vdso_base = vma->vm_start;
current->mm->context.vdso_base = vdso_text_start;