[PATCH 0/4] x86/fpu: avoid math_state_restore() on kthread exec

From: Oleg Nesterov
Date: Wed Mar 11 2015 - 13:36:09 EST


Hello.

This should "fix" the kernel crash observed by Dave.

But let me repeat once again, the problem is that fpu_finit() is buggy
on Dave's machine. This series should "hide" this problem, we need to
fix it later anyway.

I was going to do these changes anyway, math_state_restore() was only
used because we did not have the necessary helpers. I was going to start
with init_fpu() cleanups, but since math_state_restore() makes this
fpu_finit() bug more visible lets remove it first.

Note that init_fpu() + user_fpu_begin() is racy, used_math() is already
set so __switch_to() in between can do restore_fpu_checking() too and
trigger the same GPF. But this is fine (to some degree), the task won't
be killed. And this is just another proof that init_fpu() should not
set used_math() and it and its users need more cleanups.

More to come tomorrow.

Oleg.

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