1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #ifndef _LINUX_PKEYS_H
- #define _LINUX_PKEYS_H
- #include <linux/mm_types.h>
- #include <asm/mmu_context.h>
- #ifdef CONFIG_ARCH_HAS_PKEYS
- #include <asm/pkeys.h>
- #else /* ! CONFIG_ARCH_HAS_PKEYS */
- #define arch_max_pkey() (1)
- #define execute_only_pkey(mm) (0)
- #define arch_override_mprotect_pkey(vma, prot, pkey) (0)
- #define PKEY_DEDICATED_EXECUTE_ONLY 0
- #define ARCH_VM_PKEY_FLAGS 0
- static inline bool mm_pkey_is_allocated(struct mm_struct *mm, int pkey)
- {
- return (pkey == 0);
- }
- static inline int mm_pkey_alloc(struct mm_struct *mm)
- {
- return -1;
- }
- static inline int mm_pkey_free(struct mm_struct *mm, int pkey)
- {
- return -EINVAL;
- }
- static inline int arch_set_user_pkey_access(struct task_struct *tsk, int pkey,
- unsigned long init_val)
- {
- return 0;
- }
- static inline void copy_init_pkru_to_fpregs(void)
- {
- }
- #endif /* ! CONFIG_ARCH_HAS_PKEYS */
- #endif /* _LINUX_PKEYS_H */
|