When XSAVES is used, xsave.header.xcomp_bv[63] must be set.

Signed-off-by: Yu-cheng Yu <[email protected]>
---
 arch/x86/kernel/fpu/core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
index 41ab106..25e2605 100644
--- a/arch/x86/kernel/fpu/core.c
+++ b/arch/x86/kernel/fpu/core.c
@@ -224,6 +224,9 @@ void fpstate_init(union fpregs_state *state)
 
        memset(state, 0, kernel_xstate_size);
 
+       if (cpu_has_xsaves)
+               state->xsave.header.xcomp_bv = (u64)1 << 63;
+
        if (cpu_has_fxsr)
                fpstate_init_fxstate(&state->fxsave);
        else
-- 
1.9.1

Reply via email to