vdso.c (002c6ca75289a4ac4f6738213dd2d258704886e4) vdso.c (8032bf1233a74627ce69b803608e650f3f35971c)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2022 Helge Deller <deller@gmx.de>
4 *
5 * based on arch/s390/kernel/vdso.c which is
6 * Copyright IBM Corp. 2008
7 * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com)
8 */

--- 61 unchanged lines hidden (view full) ---

70#endif
71 {
72 vdso_text_len = &vdso32_end - &vdso32_start;
73 vdso_mapping = &vdso32_mapping;
74 }
75
76 map_base = mm->mmap_base;
77 if (current->flags & PF_RANDOMIZE)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2022 Helge Deller <deller@gmx.de>
4 *
5 * based on arch/s390/kernel/vdso.c which is
6 * Copyright IBM Corp. 2008
7 * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com)
8 */

--- 61 unchanged lines hidden (view full) ---

70#endif
71 {
72 vdso_text_len = &vdso32_end - &vdso32_start;
73 vdso_mapping = &vdso32_mapping;
74 }
75
76 map_base = mm->mmap_base;
77 if (current->flags & PF_RANDOMIZE)
78 map_base -= prandom_u32_max(0x20) * PAGE_SIZE;
78 map_base -= get_random_u32_below(0x20) * PAGE_SIZE;
79
80 vdso_text_start = get_unmapped_area(NULL, map_base, vdso_text_len, 0, 0);
81
82 /* VM_MAYWRITE for COW so gdb can set breakpoints */
83 vma = _install_special_mapping(mm, vdso_text_start, vdso_text_len,
84 VM_READ|VM_EXEC|
85 VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC,
86 vdso_mapping);

--- 36 unchanged lines hidden ---
79
80 vdso_text_start = get_unmapped_area(NULL, map_base, vdso_text_len, 0, 0);
81
82 /* VM_MAYWRITE for COW so gdb can set breakpoints */
83 vma = _install_special_mapping(mm, vdso_text_start, vdso_text_len,
84 VM_READ|VM_EXEC|
85 VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC,
86 vdso_mapping);

--- 36 unchanged lines hidden ---