diff options
| author | Paul Mackerras <paulus@samba.org> | 2016-03-05 19:34:39 +1100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-03-16 08:42:20 -0700 |
| commit | ef9dd54d0208f2bfb904f80a04bd963d10377b4e (patch) | |
| tree | c30176b99b262ac8142722e6cf36657a1c69382c /include/linux | |
| parent | 2b9f49f3253666a47a18ad92772750563972ef2f (diff) | |
| download | lwn-ef9dd54d0208f2bfb904f80a04bd963d10377b4e.tar.gz lwn-ef9dd54d0208f2bfb904f80a04bd963d10377b4e.zip | |
KVM: PPC: Book3S HV: Sanitize special-purpose register values on guest exit
commit ccec44563b18a0ce90e2d4f332784b3cb25c8e9c upstream.
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.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
