[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191205182648.32257-1-yu-cheng.yu@intel.com>
Date: Thu, 5 Dec 2019 10:26:45 -0800
From: Yu-cheng Yu <yu-cheng.yu@...el.com>
To: linux-kernel@...r.kernel.org, x86@...nel.org,
"H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Tony Luck <tony.luck@...el.com>,
Andy Lutomirski <luto@...nel.org>,
Borislav Petkov <bp@...en8.de>,
Rik van Riel <riel@...riel.com>,
"Ravi V. Shankar" <ravi.v.shankar@...el.com>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Fenghua Yu <fenghua.yu@...el.com>,
Peter Zijlstra <peterz@...radead.org>
Cc: Yu-cheng Yu <yu-cheng.yu@...el.com>
Subject: [PATCH 0/3] Fix small issues in XSAVES
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
Powered by blists - more mailing lists