1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ELF_RANDOMIZE_H
3#define _ELF_RANDOMIZE_H
4
5struct mm_struct;
6
7#ifndef CONFIG_ARCH_HAS_ELF_RANDOMIZE
8static 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
16extern unsigned long arch_mmap_rnd(void);
17extern 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