[RFC v5 13/38] x86: disallow pkey creation with PKEY_DISABLE_EXECUTE

From: Ram Pai
Date: Wed Jul 05 2017 - 17:31:00 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 files changed, 3 insertions(+), 0 deletions(-)

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.7.1