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 Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers