[RFC v3 11/23] x86: key creation with PKEY_DISABLE_EXECUTE is disallowed

From: Ram Pai
Date: Wed Jun 21 2017 - 21:40:32 EST


x86 does not support disabling execute permissions on a pkey.

Signed-off-by: Ram Pai <linuxram@xxxxxxxxxx>
---
arch/x86/kernel/fpu/xstate.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c
index c24ac1e..d582631 100644
--- a/arch/x86/kernel/fpu/xstate.c
+++ b/arch/x86/kernel/fpu/xstate.c
@@ -900,6 +900,9 @@ int arch_set_user_pkey_access(struct task_struct *tsk, int pkey,
if (!boot_cpu_has(X86_FEATURE_OSPKE))
return -EINVAL;

+ if (init_val & PKEY_DISABLE_EXECUTE)
+ return -EINVAL;
+
/* Set the bits we need in PKRU: */
if (init_val & PKEY_DISABLE_ACCESS)
new_pkru_bits |= PKRU_AD_BIT;
--
1.8.3.1