| Date | Wed, 11 Mar 2015 18:33:46 +0100 | From | Oleg Nesterov <> | Subject | [PATCH 0/4] x86/fpu: avoid math_state_restore() on kthread exec |
| |
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.
|