aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/signal_64.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-08-20 05:52:15 -0400
committerIngo Molnar <mingo@elte.hu>2008-08-20 05:52:15 -0400
commit7393423dd9b5790a3115873be355e9fc862bce8f (patch)
treefc83214602c8ce41dc06d5c8e21deada679521f7 /arch/x86/kernel/signal_64.c
parent8df9676d6402563da91427e8d9f2da8a4598aede (diff)
parent1fca25427482387689fa27594c992a961d98768f (diff)
Merge branch 'linus' into x86/cleanups
Diffstat (limited to 'arch/x86/kernel/signal_64.c')
-rw-r--r--arch/x86/kernel/signal_64.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/kernel/signal_64.c b/arch/x86/kernel/signal_64.c
index 87a9c2f28d99..162da796a323 100644
--- a/arch/x86/kernel/signal_64.c
+++ b/arch/x86/kernel/signal_64.c
@@ -100,7 +100,16 @@ static inline int restore_i387(struct _fpstate __user *buf)
100 clts(); 100 clts();
101 task_thread_info(current)->status |= TS_USEDFPU; 101 task_thread_info(current)->status |= TS_USEDFPU;
102 } 102 }
103 return restore_fpu_checking((__force struct i387_fxsave_struct *)buf); 103 err = restore_fpu_checking((__force struct i387_fxsave_struct *)buf);
104 if (unlikely(err)) {
105 /*
106 * Encountered an error while doing the restore from the
107 * user buffer, clear the fpu state.
108 */
109 clear_fpu(tsk);
110 clear_used_math();
111 }
112 return err;
104} 113}
105 114
106/* 115/*