Messages in this thread | | | Date | Fri, 10 Feb 2017 01:02:24 +0100 | From | Borislav Petkov <> | Subject | Re: [PATCH v2] x86/fpu: copy MXCSR & MXCSR_FLAGS with SSE/YMM state |
| |
On Thu, Feb 09, 2017 at 06:43:47PM -0500, Rik van Riel wrote: > On Skylake CPUs I noticed that XRSTOR is unable to deal with xsave areas > created by copyout_from_xsaves if the xstate has only SSE/YMM state, but > no FP state. That is, xfeatures had XFEATURE_MASK_SSE set, but not > XFEATURE_MASK_FP. > > The reason is that part of the SSE/YMM state lives in the MXCSR and > MXCSR_FLAGS fields of the FP area. > > Ensure that whenever we copy SSE or YMM state around, the MXCSR and > MXCSR_FLAGS fields are also copied around. > > Signed-off-by: Rik van Riel <riel@redhat.com> > --- > arch/x86/kernel/fpu/xstate.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+)
...
> @@ -987,6 +1004,13 @@ int copy_xstate_to_kernel(void *kbuf, struct xregs_state *xsave, unsigned int of > > } > > + if (xfeatures_need_mxcsr_copy(header.xfeatures)) { > + offset = offsetof(struct fxregs_state, mxcsr); > + size = sizeof(u64); // copy mxcsr & mxcsr_flags ^^^^^^^^^^^^^^^^^^^^^^^^^^^
We don't do // comments, do we?
And side-line comments are always impairing the readability of the code unless it is a struct's members or asm or so ...
-- Regards/Gruss, Boris.
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) --
| |