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

From: Borislav Petkov
Date: Fri Mar 13 2015 - 11:52:57 EST


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.
--
--
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/