X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=arch%2Fx86%2Finclude%2Fasm%2Ffpu-internal.h;h=412ececa00b957014a535e0a36d15ae108a88ffa;hb=7453f33b2e07fc2835e24cda0893de83c78d8d76;hp=e3b85422cf127d38806a903ba6c2d0e6f664bf2f;hpb=b54ecfb7022d93e8d342ed4a2512d858d0682c0c;p=firefly-linux-kernel-4.4.55.git diff --git a/arch/x86/include/asm/fpu-internal.h b/arch/x86/include/asm/fpu-internal.h index e3b85422cf12..412ececa00b9 100644 --- a/arch/x86/include/asm/fpu-internal.h +++ b/arch/x86/include/asm/fpu-internal.h @@ -508,9 +508,12 @@ static inline void user_fpu_begin(void) static inline void __save_fpu(struct task_struct *tsk) { - if (use_xsave()) - xsave_state(&tsk->thread.fpu.state->xsave, -1); - else + if (use_xsave()) { + if (unlikely(system_state == SYSTEM_BOOTING)) + xsave_state_booting(&tsk->thread.fpu.state->xsave, -1); + else + xsave_state(&tsk->thread.fpu.state->xsave, -1); + } else fpu_fxsave(&tsk->thread.fpu); }