Messages in this thread |  | | From | Yu-cheng Yu <> | Subject | [PATCH v2 0/3] Fix small issues in XSAVES | Date | Thu, 12 Dec 2019 13:08:52 -0800 |
| |
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
|  |