GNU Linux-libre 4.19.211-gnu1
[releases.git] / include / asm-generic / mm_hooks.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Define generic no-op hooks for arch_dup_mmap, arch_exit_mmap
4  * and arch_unmap to be included in asm-FOO/mmu_context.h for any
5  * arch FOO which doesn't need to hook these.
6  */
7 #ifndef _ASM_GENERIC_MM_HOOKS_H
8 #define _ASM_GENERIC_MM_HOOKS_H
9
10 static inline int arch_dup_mmap(struct mm_struct *oldmm,
11                                 struct mm_struct *mm)
12 {
13         return 0;
14 }
15
16 static inline void arch_exit_mmap(struct mm_struct *mm)
17 {
18 }
19
20 static inline void arch_unmap(struct mm_struct *mm,
21                         struct vm_area_struct *vma,
22                         unsigned long start, unsigned long end)
23 {
24 }
25
26 static inline void arch_bprm_mm_init(struct mm_struct *mm,
27                                      struct vm_area_struct *vma)
28 {
29 }
30
31 static inline bool arch_vma_access_permitted(struct vm_area_struct *vma,
32                 bool write, bool execute, bool foreign)
33 {
34         /* by default, allow everything */
35         return true;
36 }
37 #endif  /* _ASM_GENERIC_MM_HOOKS_H */