From: Yang Weijiang <weijiang.yang@xxxxxxxxx> guest-only supervisor state bits should be __ONLY__ enabled for guest fpstate, i.e., never for normal kernel fpstate. WARN_ONCE() if normal kernel fpstate sees any of these features. Signed-off-by: Yang Weijiang <weijiang.yang@xxxxxxxxx> Signed-off-by: Chao Gao <chao.gao@xxxxxxxxx> --- arch/x86/kernel/fpu/xstate.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/kernel/fpu/xstate.h b/arch/x86/kernel/fpu/xstate.h index 1418423bc4c9..f644647c0549 100644 --- a/arch/x86/kernel/fpu/xstate.h +++ b/arch/x86/kernel/fpu/xstate.h @@ -208,6 +208,8 @@ static inline void os_xsave(struct fpstate *fpstate) WARN_ON_FPU(!alternatives_patched); xfd_validate_state(fpstate, mask, false); + WARN_ON_FPU(!fpstate->is_guest && (mask & XFEATURE_MASK_SUPERVISOR_GUEST)); + XSTATE_XSAVE(&fpstate->regs.xsave, lmask, hmask, err); /* We should never fault when copying to a kernel buffer: */ -- 2.46.1