Lines Matching +full:smp +full:- +full:offset
1 // SPDX-License-Identifier: GPL-2.0
18 #include <linux/smp.h>
32 current->mm->context.vdso_base = vma->vm_start; in vdso_mremap()
51 early_initcall(vdso_getcpu_init); /* Must be called before SMP init */
57 struct mm_struct *mm = current->mm; in map_vdso()
63 return -EINTR; in map_vdso()
66 vdso_text_len = vdso32_end - vdso32_start; in map_vdso()
69 vdso_text_len = vdso64_end - vdso64_start; in map_vdso()
90 current->mm->context.vdso_base = vdso_text_start; in map_vdso()
100 unsigned long addr, end, offset; in vdso_addr() local
109 end = (start + len + PMD_SIZE - 1) & PMD_MASK; in vdso_addr()
112 end -= len; in vdso_addr()
115 offset = get_random_u32_below(((end - start) >> PAGE_SHIFT) + 1); in vdso_addr()
116 addr = start + (offset << PAGE_SHIFT); in vdso_addr()
128 size = vdso32_end - vdso32_start; in vdso_text_size()
130 size = vdso64_end - vdso64_start; in vdso_text_size()
144 if (current->flags & PF_RANDOMIZE) in arch_setup_additional_pages()
145 addr = vdso_addr(current->mm->start_stack + PAGE_SIZE, size); in arch_setup_additional_pages()
151 int pages = (end - start) >> PAGE_SHIFT; in vdso_setup_pages()
170 shdr = (void *)hdr + hdr->e_shoff; in vdso_apply_alternatives()
174 start = (void *)hdr + alt->sh_offset; in vdso_apply_alternatives()
175 end = (void *)hdr + alt->sh_offset + alt->sh_size; in vdso_apply_alternatives()