Messages in this thread | | | Date | Fri, 10 Oct 2008 12:21:39 +0200 | From | Cedric Le Goater <> | Subject | Re: [RFC v6][PATCH 3/9] x86 support for checkpoint/restart |
| |
> +int cr_read_cpu_fpu(struct cr_hdr_cpu *hh, struct task_struct *t) > +{ > + struct thread_struct *thread = &t->thread; > + > + /* i387 + MMU + SSE */ > + > + preempt_disable(); > + > + __clear_fpu(t); /* in case we used FPU in user mode */ > + > + if (!hh->used_math) > + clear_used_math(); > + else { > + if (hh->has_fxsr != cpu_has_fxsr) { > + force_sig(SIGFPE, t); > + return -EINVAL; > + }
don't you need an init_fpu() around here ? because the task you restart might not have used FPU yet.
> + memcpy(&thread->xstate, &hh->xstate, sizeof(thread->xstate));
also i'd used 'xstate_size' instead of sizeof(thread->xstate)
thanks,
C.
| |