diff options
Diffstat (limited to 'include/asm-x86/i387_64.h')
-rw-r--r-- | include/asm-x86/i387_64.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-x86/i387_64.h b/include/asm-x86/i387_64.h index 0217b74cc9fc..3a4ffba3d6bc 100644 --- a/include/asm-x86/i387_64.h +++ b/include/asm-x86/i387_64.h | |||
@@ -203,6 +203,11 @@ static inline void save_init_fpu(struct task_struct *tsk) | |||
203 | */ | 203 | */ |
204 | static inline int restore_i387(struct _fpstate __user *buf) | 204 | static inline int restore_i387(struct _fpstate __user *buf) |
205 | { | 205 | { |
206 | set_used_math(); | ||
207 | if (!(task_thread_info(current)->status & TS_USEDFPU)) { | ||
208 | clts(); | ||
209 | task_thread_info(current)->status |= TS_USEDFPU; | ||
210 | } | ||
206 | return restore_fpu_checking((__force struct i387_fxsave_struct *)buf); | 211 | return restore_fpu_checking((__force struct i387_fxsave_struct *)buf); |
207 | } | 212 | } |
208 | 213 | ||