Messages in this thread | | | Subject | Re: [PATCH v4 04/10] x86/xsaves: Introduce a new check that allows correct xstates copy from kernel to user directly | From | Dave Hansen <> | Date | Mon, 2 May 2016 09:43:47 -0700 |
| |
On 05/02/2016 09:34 AM, Yu-cheng Yu wrote: > On Mon, May 02, 2016 at 09:06:41AM -0700, Dave Hansen wrote: >> On 05/02/2016 08:57 AM, Yu-cheng Yu wrote: >>> On Fri, Apr 29, 2016 at 05:36:48PM -0700, Dave Hansen wrote: >>>> If may_copy_fpregs_to_sigframe() were called from a slightly different >>>> context, or if we change the call-site, what breaks? >>>> >>>> In other words. if we can still "may_copy_fpregs_to_sigframe()" no >>>> matter the state of fpu.fpstate_active, then I don't think we should be >>>> checking it in may_copy_fpregs_to_sigframe(). >>> >>> Do you mean, don't check fpu.fpstate_active here? >> >> Not really. I'm asking *why* the check is there. > > If (fpu.fpstate_active == 0), then the task does not use FPU; we don't > want to save these registers, right?
No. It's possible to have fpstate_active=0 while fpregs_active=1. Such a task uses the FPU, but just hasn't done an XSAVE* to save the register content to the fpstate buffer.
Note, this is just theoretical, and does not happen in this particular call path today.
| |