linux_dsm_epyc7002/arch/powerpc
Mark Cave-Ayland fe1ef6bcdb powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest
Commit 8792468da5 "powerpc: Add the ability to save FPU without
giving it up" unexpectedly removed the MSR_FE0 and MSR_FE1 bits from
the bitmask used to update the MSR of the previous thread in
__giveup_fpu() causing a KVM-PR MacOS guest to lockup and panic the
host kernel.

Leaving FE0/1 enabled means unrelated processes might receive FPEs
when they're not expecting them and crash. In particular if this
happens to init the host will then panic.

eg (transcribed):
  qemu-system-ppc[837]: unhandled signal 8 at 12cc9ce4 nip 12cc9ce4 lr 12cc9ca4 code 0
  systemd[1]: unhandled signal 8 at 202f02e0 nip 202f02e0 lr 001003d4 code 0
  Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

Reinstate these bits to the MSR bitmask to enable MacOS guests to run
under 32-bit KVM-PR once again without issue.

Fixes: 8792468da5 ("powerpc: Add the ability to save FPU without giving it up")
Cc: stable@vger.kernel.org # v4.6+
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-02-22 00:10:15 +11:00
..
boot powerpc: wii.dts: Add GPIO keys 2019-01-15 11:17:09 +11:00
configs powerpc/configs: Add PPC4xx_OCM to ppc40x_defconfig 2018-12-30 14:00:47 +11:00
crypto powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
include powerpc/eeh: Add eeh_force_recover to debugfs 2019-02-22 00:10:15 +11:00
kernel powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest 2019-02-22 00:10:15 +11:00
kvm Merge branch 'topic/ppc-kvm' into next 2019-02-22 00:09:56 +11:00
lib Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
math-emu powerpc: math-emu: remove unneeded header search paths 2019-01-14 20:39:27 +11:00
mm powerpc/64s/hash: Fix assert_slb_presence() use of the slbfee. instruction 2019-02-22 00:10:14 +11:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2018-12-10 18:00:43 -08:00
oprofile Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
perf Merge branch 'fixes' into next 2019-02-19 19:56:26 +11:00
platforms powerpc/pseries: export timebase register sample in lparcfg 2019-02-22 00:10:15 +11:00
purgatory powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
sysdev Merge branch 'topic/dma' into next 2019-02-21 23:15:10 +11:00
tools powerpc/tools/checkpatch: Ignore DT_SPLIT_BINDING_PATCH 2018-12-04 19:45:01 +11:00
xmon powerpc/xmon: fix dump_segments() 2018-12-19 18:56:32 +11:00
Kbuild powerpc: Add -Werror at arch/powerpc level 2018-10-19 00:56:17 +11:00
Kconfig powerpc: drop unused GENERIC_CSUM Kconfig item 2019-02-22 00:10:14 +11:00
Kconfig.debug powerpc: remove redundant 'default n' from Kconfig-s 2018-10-13 22:21:25 +11:00
Makefile powerpc: remove redundant header search path additions 2019-01-14 20:39:27 +11:00
Makefile.postlink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00