diff options
Diffstat (limited to 'arch/i386/kernel/signal.c')
| -rw-r--r-- | arch/i386/kernel/signal.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/i386/kernel/signal.c b/arch/i386/kernel/signal.c index 51c4bfc53c93..f98146004f5e 100644 --- a/arch/i386/kernel/signal.c +++ b/arch/i386/kernel/signal.c @@ -190,6 +190,12 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *peax if (verify_area(VERIFY_READ, buf, sizeof(*buf))) goto badframe; err |= restore_i387(buf); + } else { + struct task_struct *me = current; + if (me->used_math) { + clear_fpu(me); + me->used_math = 0; + } } } |
