1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ELF_RANDOMIZE_H
3 #define _ELF_RANDOMIZE_H
4 
5 struct mm_struct;
6 
7 #ifndef CONFIG_ARCH_HAS_ELF_RANDOMIZE
arch_mmap_rnd(void)8 static inline unsigned long arch_mmap_rnd(void) { return 0; }
9 # if defined(arch_randomize_brk) && defined(CONFIG_COMPAT_BRK)
10 #  define compat_brk_randomized
11 # endif
12 # ifndef arch_randomize_brk
13 #  define arch_randomize_brk(mm)	(mm->brk)
14 # endif
15 #else
16 extern unsigned long arch_mmap_rnd(void);
17 extern unsigned long arch_randomize_brk(struct mm_struct *mm);
18 # ifdef CONFIG_COMPAT_BRK
19 #  define compat_brk_randomized
20 # endif
21 #endif
22 
23 #endif
24