diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index b9ba9d52020ebcd7772b69e9d5cfe3561fd25176..a44268c897bd713b958b1d462b455b1f600283dd 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c @@ -66,7 +66,9 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src) { *dst = *src; - memset(&dst->thread.fpu, 0, sizeof(dst->thread.fpu)); + dst->thread.fpu.has_fpu = 0; + dst->thread.fpu.last_cpu = ~0; + dst->thread.fpu.state = NULL; if (tsk_used_math(src)) { int err = fpu_alloc(&dst->thread.fpu); if (err)