diff options
author | Tony Luck <tony.luck@intel.com> | 2020-05-28 23:13:54 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2020-06-18 16:47:02 +0300 |
commit | 978e1342c3c4d7b20808fd5875d9ac0d57db22ee (patch) | |
tree | bc0fbfea5d488be22125def0ebfbc5517ede15d6 /scripts/gcc-plugins/cyc_complexity_plugin.c | |
parent | 005f141e5d5e05d3986539567d0bc5aa2f4dc640 (diff) | |
download | linux-978e1342c3c4d7b20808fd5875d9ac0d57db22ee.tar.xz |
x86/speculation/swapgs: Check FSGSBASE in enabling SWAPGS mitigation
Before enabling FSGSBASE the kernel could safely assume that the content
of GS base was a user address. Thus any speculative access as the result
of a mispredicted branch controlling the execution of SWAPGS would be to
a user address. So systems with speculation-proof SMAP did not need to
add additional LFENCE instructions to mitigate.
With FSGSBASE enabled a hostile user can set GS base to a kernel address.
So they can make the kernel speculatively access data they wish to leak
via a side channel. This means that SMAP provides no protection.
Add FSGSBASE as an additional condition to enable the fence-based SWAPGS
mitigation.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20200528201402.1708239-9-sashal@kernel.org
Diffstat (limited to 'scripts/gcc-plugins/cyc_complexity_plugin.c')
0 files changed, 0 insertions, 0 deletions