Revision ccec44563b18a0ce90e2d4f332784b3cb25c8e9c authored by Paul Mackerras on 05 March 2016, 08:34:39 UTC, committed by Paul Mackerras on 08 March 2016, 02:36:42 UTC
Thomas Huth discovered that a guest could cause a hard hang of a
host CPU by setting the Instruction Authority Mask Register (IAMR)
to a suitable value.  It turns out that this is because when the
code was added to context-switch the new special-purpose registers
(SPRs) that were added in POWER8, we forgot to add code to ensure
that they were restored to a sane value on guest exit.

This adds code to set those registers where a bad value could
compromise the execution of the host kernel to a suitable neutral
value on guest exit.

Cc: stable@vger.kernel.org # v3.14+
Fixes: b005255e12a3
Reported-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
1 parent 2680d6d
History
File Mode Size
Makefile -rw-r--r-- 377 bytes
compat.c -rw-r--r-- 19.1 KB
compat_mq.c -rw-r--r-- 3.9 KB
ipc_sysctl.c -rw-r--r-- 5.4 KB
mq_sysctl.c -rw-r--r-- 2.9 KB
mqueue.c -rw-r--r-- 35.7 KB
msg.c -rw-r--r-- 24.1 KB
msgutil.c -rw-r--r-- 3.6 KB
namespace.c -rw-r--r-- 4.0 KB
sem.c -rw-r--r-- 56.1 KB
shm.c -rw-r--r-- 32.5 KB
syscall.c -rw-r--r-- 2.3 KB
util.c -rw-r--r-- 21.1 KB
util.h -rw-r--r-- 6.4 KB

back to top