lkml.org 
[lkml]   [2019]   [Dec]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/3] Fix small issues in XSAVES
Date
The first two patches in this series are split from my supervisor xstate
patches [1]. The third is to fix a vital issue in __fpu_restore_sig(),
and more RFC than the others. All three are not directly related to
supervisor xstates or CET, split them out and submit first. I will
re-submit supervisor xstate patches shortly.

When__fpu_restore_sig() fails, partially cleared FPU registers still belong
to the previous owner task. That causes that task to use corrupted xregs.
Fix it by doing __cpu_invalidate_fpregs_state() in functions that copy into
fpregs. Further details are in the commit log of patch #3.

[1] Support XSAVES supervisor states
https://lkml.kernel.org/r/20190925151022.21688-1-yu-cheng.yu@intel.com/

[2] CET patches:
https://lkml.kernel.org/r/20190813205225.12032-1-yu-cheng.yu@intel.com/
https://lkml.kernel.org/r/20190813205359.12196-1-yu-cheng.yu@intel.com/

Yu-cheng Yu (3):
x86/fpu/xstate: Fix small issues before adding supervisor xstates
x86/fpu/xstate: Make xfeature_is_supervisor()/xfeature_is_user()
return bool
x86/fpu/xstate: Invalidate fpregs when __fpu_restore_sig() fails

arch/x86/include/asm/fpu/internal.h | 14 ++++++++++++++
arch/x86/kernel/fpu/core.c | 15 +++++++++++++--
arch/x86/kernel/fpu/xstate.c | 22 ++++++++++------------
3 files changed, 37 insertions(+), 14 deletions(-)

--
2.17.1

\
 
 \ /
  Last update: 2019-12-05 19:42    [W:0.042 / U:3.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site