Re: [PATCH 3/4] x86/fpu: use restore_init_xstate() instead of math_state_restore() on kthread exec

Borislav Petkov
2015-03-13T15:52:54Z

On Fri, Mar 13, 2015 at 03:45:14PM +0100, Oleg Nesterov wrote:
> Because in math_state_restore() case kernel_fpu_begin()->__save_init_fpu()
> will overwrite (corrupt) the same fpu->state buffer we need to restore.
> Without kernel_fpu_disable().

Yes.

> restore_init_xstate() obviously differs because it reads init_xstate_buf,
> we do not care at all if kernel_fpu_begin() in between overwrites ->state.

Ah yes, so we're on the thread exit path and we restore init xstate.
Sure, of course, that makes sense.

> And note! this is the yet another proof that init_fpu()->fpu_finit() is
> pointless. This (and almost all) users need fpu_alloc() only.

Right, applying.

Thanks for explaining!

:-)

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--