lkml.org 
[lkml]   [2019]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v2 0/3] Fix small issues in XSAVES
Date
Rebase v1 to Linux v5.5-rc1.  This supersedes the previous version, but
does not have any functional changes.

The first two patches in this series are split from my supervisor xstate
patches [2]. 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] v1 of this series:
https://lkml.kernel.org/r/20191205182648.32257-1-yu-cheng.yu@intel.com/

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

[3] 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 | 16 ++++++++++++++--
arch/x86/kernel/fpu/xstate.c | 18 ++++++++----------
3 files changed, 36 insertions(+), 12 deletions(-)

--
2.17.1

\
 
 \ /
  Last update: 2019-12-12 22:21    [W:0.071 / U:5.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site