From: Jim Mattson Date: Thu, 31 Aug 2023 04:32:21 +0000 (-0700) Subject: x86/fpu/xstate: Fix PKRU covert channel X-Git-Tag: v6.6.17~4026^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=18032b47adf1db7b7f5fb2d1344e65aafe6417df;p=platform%2Fkernel%2Flinux-rpi.git x86/fpu/xstate: Fix PKRU covert channel When XCR0[9] is set, PKRU can be read and written from userspace with XSAVE and XRSTOR, even when CR4.PKE is clear. Clear XCR0[9] when protection keys are disabled. Reported-by: Tavis Ormandy Signed-off-by: Jim Mattson Signed-off-by: Ingo Molnar Acked-by: Dave Hansen Link: https://lore.kernel.org/r/20230831043228.1194256-1-jmattson@google.com --- diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c index 1afbc48..a27b4f7 100644 --- a/arch/x86/kernel/fpu/xstate.c +++ b/arch/x86/kernel/fpu/xstate.c @@ -71,7 +71,7 @@ static unsigned short xsave_cpuid_features[] __initdata = { [XFEATURE_ZMM_Hi256] = X86_FEATURE_AVX512F, [XFEATURE_Hi16_ZMM] = X86_FEATURE_AVX512F, [XFEATURE_PT_UNIMPLEMENTED_SO_FAR] = X86_FEATURE_INTEL_PT, - [XFEATURE_PKRU] = X86_FEATURE_PKU, + [XFEATURE_PKRU] = X86_FEATURE_OSPKE, [XFEATURE_PASID] = X86_FEATURE_ENQCMD, [XFEATURE_XTILE_CFG] = X86_FEATURE_AMX_TILE, [XFEATURE_XTILE_DATA] = X86_FEATURE_AMX_TILE,