Re: [PATCH] mm: only enable sys_pkey* when ARCH_HAS_PKEYS

From: Dave Hansen
Date: Tue Nov 08 2016 - 13:39:11 EST


On 11/08/2016 03:24 AM, Heiko Carstens wrote:
> Something like this:
>
> diff --git a/mm/mprotect.c b/mm/mprotect.c
> index 11936526b08b..9fb86b107e49 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,4 @@ SYSCALL_DEFINE1(pkey_free, int, pkey)
> */
> return ret;
> }
> +#endif /* CONFIG_ARCH_HAS_PKEYS */

That's fine with me, fwiw. It ends up meaning that the config option
changes whether we get -ENOSPC vs. -ENOSYS, so the x86_32 behavior will
change, for instance. But, I _think_ that's OK.