]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - include/linux/pkeys.h
x86/pkeys: Allocation/free syscalls
[mirror_ubuntu-zesty-kernel.git] / include / linux / pkeys.h
CommitLineData
66d37570
DH
1#ifndef _LINUX_PKEYS_H
2#define _LINUX_PKEYS_H
3
4#include <linux/mm_types.h>
5#include <asm/mmu_context.h>
6
7#ifdef CONFIG_ARCH_HAS_PKEYS
8#include <asm/pkeys.h>
9#else /* ! CONFIG_ARCH_HAS_PKEYS */
10#define arch_max_pkey() (1)
62b5f7d0
DH
11#define execute_only_pkey(mm) (0)
12#define arch_override_mprotect_pkey(vma, prot, pkey) (0)
13#define PKEY_DEDICATED_EXECUTE_ONLY 0
a8502b67 14#define ARCH_VM_PKEY_FLAGS 0
e8c24d3a
DH
15
16static inline bool mm_pkey_is_allocated(struct mm_struct *mm, int pkey)
17{
18 return (pkey == 0);
19}
20
21static inline int mm_pkey_alloc(struct mm_struct *mm)
22{
23 return -1;
24}
25
26static inline int mm_pkey_free(struct mm_struct *mm, int pkey)
27{
28 WARN_ONCE(1, "free of protection key when disabled");
29 return -EINVAL;
30}
31
32static inline int arch_set_user_pkey_access(struct task_struct *tsk, int pkey,
33 unsigned long init_val)
34{
35 return 0;
36}
37
66d37570
DH
38#endif /* ! CONFIG_ARCH_HAS_PKEYS */
39
66d37570 40#endif /* _LINUX_PKEYS_H */