18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Define generic no-op hooks for arch_dup_mmap, arch_exit_mmap 48c2ecf20Sopenharmony_ci * and arch_unmap to be included in asm-FOO/mmu_context.h for any 58c2ecf20Sopenharmony_ci * arch FOO which doesn't need to hook these. 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci#ifndef _ASM_GENERIC_MM_HOOKS_H 88c2ecf20Sopenharmony_ci#define _ASM_GENERIC_MM_HOOKS_H 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cistatic inline int arch_dup_mmap(struct mm_struct *oldmm, 118c2ecf20Sopenharmony_ci struct mm_struct *mm) 128c2ecf20Sopenharmony_ci{ 138c2ecf20Sopenharmony_ci return 0; 148c2ecf20Sopenharmony_ci} 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_cistatic inline void arch_exit_mmap(struct mm_struct *mm) 178c2ecf20Sopenharmony_ci{ 188c2ecf20Sopenharmony_ci} 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_cistatic inline void arch_unmap(struct mm_struct *mm, 218c2ecf20Sopenharmony_ci unsigned long start, unsigned long end) 228c2ecf20Sopenharmony_ci{ 238c2ecf20Sopenharmony_ci} 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_cistatic inline bool arch_vma_access_permitted(struct vm_area_struct *vma, 268c2ecf20Sopenharmony_ci bool write, bool execute, bool foreign) 278c2ecf20Sopenharmony_ci{ 288c2ecf20Sopenharmony_ci /* by default, allow everything */ 298c2ecf20Sopenharmony_ci return true; 308c2ecf20Sopenharmony_ci} 318c2ecf20Sopenharmony_ci#endif /* _ASM_GENERIC_MM_HOOKS_H */ 32