[RFC v4 03/17] x86: key creation with PKEY_DISABLE_EXECUTE disallowed

From: Ram Pai
Date: Tue Jun 27 2017 - 06:12:47 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