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