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.
_______________________________________________
Containers mailing list
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to