Messages in this thread Patch in this message | | | From | Heiko Carstens <> | Subject | [PATCH] mm/pkeys: generate pkey system call code only if ARCH_HAS_PKEYS is selected | Date | Mon, 14 Nov 2016 12:12:51 +0100 |
| |
Having code for the pkey_mprotect, pkey_alloc and pkey_free system calls makes only sense if ARCH_HAS_PKEYS is selected. If not selected these system calls will always return -ENOSPC or -EINVAL.
To simplify things and have less code generate the pkey system call code only if ARCH_HAS_PKEYS is selected.
For architectures which have already wired up the system calls, but do not select ARCH_HAS_PKEYS this will result in less generated code and a different return code: the three system calls will now always return -ENOSYS, using the cond_syscall mechanism.
For architectures which have not wired up the system calls less unreachable code will be generated.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> --- mm/mprotect.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/mm/mprotect.c b/mm/mprotect.c index 11936526b08b..a06e91c4de29 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -484,6 +484,8 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len, return do_mprotect_pkey(start, len, prot, -1); } +#ifdef CONFIG_ARCH_HAS_PKEYS + SYSCALL_DEFINE4(pkey_mprotect, unsigned long, start, size_t, len, unsigned long, prot, int, pkey) { @@ -534,3 +536,5 @@ SYSCALL_DEFINE1(pkey_free, int, pkey) */ return ret; } + +#endif /* CONFIG_ARCH_HAS_PKEYS */ -- 2.8.4
| |