Re: [patch 11/41] x86/fpu: Get rid of copy_supervisor_to_kernel()

From: Andy Lutomirski
Date: Fri Jun 11 2021 - 15:42:28 EST


On 6/11/21 9:15 AM, Thomas Gleixner wrote:
> If the fast path of restoring the FPU state on sigreturn fails or is not
> taken and the current task's FPU is active then the FPU has to be
> deactivated for the slow path to allow a safe update of the tasks FPU
> memory state.
>
> With supervisor states enabled, this requires to save the supervisor state
> in the memory state first. Supervisor states require XSAVES so saving only
> the supervisor state requires to reshuffle the memory buffer because XSAVES
> uses the compacted format and therefore stores the supervisor states at the
> beginning of the memory state. That's just an overengineered optimization.
>
> Get rid of it and save the full state for this case.

Hallelujah.

Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxx>