Re: [RFC v6][PATCH 3/9] x86 support for checkpoint/restart

From: Oren Laadan
Date: Fri Oct 10 2008 - 06:30:06 EST




Cedric Le Goater wrote:
>> +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)
>

Yes, that was broken, and already fixed in for next round.

Thanks,

Oren.

>
> thanks,
>
> C.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/