Lines Matching +full:start +full:- +full:up

1 // SPDX-License-Identifier: GPL-2.0
32 current->mm->context.vdso_base = vma->vm_start; in vdso_mremap()
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()
98 static unsigned long vdso_addr(unsigned long start, unsigned long len) in vdso_addr() argument
103 * Round up the start address. It can start out unaligned as a result in vdso_addr()
104 * of stack start randomization. in vdso_addr()
106 start = PAGE_ALIGN(start); in vdso_addr()
108 /* Round the lowest possible end address up to a PMD boundary. */ in vdso_addr()
109 end = (start + len + PMD_SIZE - 1) & PMD_MASK; in vdso_addr()
112 end -= len; in vdso_addr()
114 if (end > start) { 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()
118 addr = start; 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()
149 static struct page ** __init vdso_setup_pages(void *start, void *end) in vdso_setup_pages() argument
151 int pages = (end - start) >> PAGE_SHIFT; in vdso_setup_pages()
159 pagelist[i] = virt_to_page(start + i * PAGE_SIZE); in vdso_setup_pages()
166 struct alt_instr *start, *end; in vdso_apply_alternatives() local
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()
176 apply_alternatives(start, end); in vdso_apply_alternatives()