x86/fpu: avoid math_state_restore() on kthread exec
Status from this message: Applied, thanks.
Get series with b4
b4 am [email protected]Versions newest first
Patches in v1 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | x86/fpu: document user_fpu_begin()arch/ | +3 | 2 replies | |
| 2/4 | x86/fpu: introduce restore_init_xstate()arch/ | +10 | 4 replies | |
| 3/4 | x86/fpu: use restore_init_xstate() instead of math_state_restore() on kthread execarch/ | +2 | 3 replies | |
| 4/4 | x86/fpu: don't abuse drop_init_fpu() in flush_thread()arch/ | +4 | 22 replies |
Reviews trailers per patch
1 of 4 patches has a Reviewed-by or Acked-by.
| Patch | Ingo Molnar |
|---|---|
| 1/4 | |
| 2/4 | |
| 3/4 | |
| 4/4 | A-b A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [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.