aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/xsave.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/xsave.c b/arch/x86/kernel/xsave.c
index cf0b83040ec8..4c540c4719d8 100644
--- a/arch/x86/kernel/xsave.c
+++ b/arch/x86/kernel/xsave.c
@@ -400,8 +400,11 @@ int __restore_xstate_sig(void __user *buf, void __user *buf_fx, int size)
400 set_used_math(); 400 set_used_math();
401 } 401 }
402 402
403 if (use_eager_fpu()) 403 if (use_eager_fpu()) {
404 preempt_disable();
404 math_state_restore(); 405 math_state_restore();
406 preempt_enable();
407 }
405 408
406 return err; 409 return err;
407 } else { 410 } else {