linux/arch/x86
Thomas Gleixner 4e8e4313cf x86/fpu: Make xfeatures_mask_all __ro_after_init
Nothing has to modify this after init.

But of course there is code which unconditionally masks
xfeatures_mask_all on CPU hotplug. This goes unnoticed during boot
hotplug because at that point the variable is still RW mapped.

This is broken in several ways:

  1) Masking this in post init CPU hotplug means that any
     modification of this state goes unnoticed until actual hotplug
     happens.

  2) If that ever happens then these bogus feature bits are already
     populated all over the place and the system is in inconsistent state
     vs. the compacted XSTATE offsets. If at all then this has to panic the
     machine because the inconsistency cannot be undone anymore.

Make this a one-time paranoia check in xstate init code and disable
xsave when this happens.

Reported-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20210623121451.712803952@linutronix.de
2021-06-23 17:49:45 +02:00
..
boot x86/boot/compressed: Enable -Wundef 2021-05-12 21:39:56 +02:00
configs module: remove EXPORT_UNUSED_SYMBOL* 2021-02-08 12:28:07 +01:00
crypto Objtool updates in this cycle were: 2021-04-28 12:53:24 -07:00
entry quota: Disable quotactl_path syscall 2021-05-17 14:39:56 +02:00
events perf/x86/intel/uncore: Fix M2M event umask for Ice Lake server 2021-06-01 16:00:05 +02:00
hyperv The x86 MM changes in this cycle were: 2021-04-29 11:41:43 -07:00
ia32
include Merge x86/urgent into x86/fpu 2021-06-23 17:43:38 +02:00
kernel x86/fpu: Make xfeatures_mask_all __ro_after_init 2021-06-23 17:49:45 +02:00
kvm Miscellaneous bugfixes. The main interesting one is a NULL pointer dereference 2021-06-17 13:14:53 -07:00
lib - turn the stack canary into a normal __percpu variable on 32-bit which 2021-04-27 17:45:09 -07:00
math-emu x86/fpu/math-emu: Fix function cast warning 2021-03-23 00:08:02 +01:00
mm x86/pkeys: Revert a5eff72597 ("x86/pkeys: Add PKRU value to init_fpstate") 2021-06-23 17:49:45 +02:00
net Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
pci pci-v5.13-fixes-2 2021-06-18 13:54:11 -07:00
platform x86/setup: Always reserve the first 1M of RAM 2021-06-03 19:57:55 +02:00
power - turn the stack canary into a normal __percpu variable on 32-bit which 2021-04-27 17:45:09 -07:00
purgatory
ras
realmode x86/setup: Always reserve the first 1M of RAM 2021-06-03 19:57:55 +02:00
tools x86/tools/insn_sanity: Convert to insn_decode() 2021-03-15 12:21:11 +01:00
um um: elf.h: Fix W=1 warning for empty body in 'do' statement 2021-04-15 23:10:50 +02:00
video
xen x86/Xen: swap NX determination and GDT setup on BSP 2021-05-21 09:53:52 +02:00
.gitignore
Kbuild
Kconfig x86/Kconfig: introduce ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE 2021-05-05 11:27:27 -07:00
Kconfig.assembler
Kconfig.cpu
Kconfig.debug
Makefile x86, lto: Pass -stack-alignment only on LLD < 13.0.0 2021-06-11 10:33:45 -07:00
Makefile_32.cpu
Makefile.um