mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
mm/pkeys: generate pkey system call code only if ARCH_HAS_PKEYS is selected
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. Link: http://lkml.kernel.org/r/20161114111251.70084-1-heiko.carstens@de.ibm.com Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Acked-by: Dave Hansen <dave.hansen@linux.intel.com> Cc: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
c3352cbb1b
commit
c7142aead8
@@ -497,6 +497,8 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
|
|||||||
return do_mprotect_pkey(start, len, prot, -1);
|
return do_mprotect_pkey(start, len, prot, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_HAS_PKEYS
|
||||||
|
|
||||||
SYSCALL_DEFINE4(pkey_mprotect, unsigned long, start, size_t, len,
|
SYSCALL_DEFINE4(pkey_mprotect, unsigned long, start, size_t, len,
|
||||||
unsigned long, prot, int, pkey)
|
unsigned long, prot, int, pkey)
|
||||||
{
|
{
|
||||||
@@ -547,3 +549,5 @@ SYSCALL_DEFINE1(pkey_free, int, pkey)
|
|||||||
*/
|
*/
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* CONFIG_ARCH_HAS_PKEYS */
|
||||||
|
Reference in New Issue
Block a user