VSYSCALL_ADDR
.vm_start = VSYSCALL_ADDR,
.vm_end = VSYSCALL_ADDR + PAGE_SIZE,
return vsyscall_mode != NONE && (addr & PAGE_MASK) == VSYSCALL_ADDR;
pgd = pgd_offset_pgd(root, VSYSCALL_ADDR);
p4d = p4d_offset(pgd, VSYSCALL_ADDR);
pud = pud_offset(p4d, VSYSCALL_ADDR);
pmd = pmd_offset(pud, VSYSCALL_ADDR);
(unsigned long)VSYSCALL_ADDR);
if ((addr & ~0xC00UL) != VSYSCALL_ADDR)
#define FIXADDR_TOP (round_up(VSYSCALL_ADDR + PAGE_SIZE, 1<<PMD_SHIFT) - \
VSYSCALL_PAGE = (FIXADDR_TOP - VSYSCALL_ADDR) >> PAGE_SHIFT,
return unlikely((vaddr & PAGE_MASK) == VSYSCALL_ADDR);
kclist_add(&kcore_vsyscall, (void *)VSYSCALL_ADDR, PAGE_SIZE, KCORE_USER);
pte = lookup_address(VSYSCALL_ADDR, &level);
target_pte = pti_user_pagetable_walk_pte(VSYSCALL_ADDR, false);
u64 limit = TASK_SIZE_MAX + PAGE_SIZE - VSYSCALL_ADDR;
emit_mov_imm64(&prog, BPF_REG_AX, (long)VSYSCALL_ADDR >> 32,
(u32)(long)VSYSCALL_ADDR);
user_pgd[pgd_index(VSYSCALL_ADDR)] =
skel->bss->user_ptr = (void *)VSYSCALL_ADDR;
case 8: return (void *)VSYSCALL_ADDR; /* vsyscall page address */