diff options
author | Paul Mackerras <paulus@ozlabs.org> | 2016-11-07 15:09:58 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@ozlabs.org> | 2016-11-21 15:17:55 +1100 |
commit | 0d808df06a44200f52262b6eb72bcb6042f5a7c5 (patch) | |
tree | 45a53cb7a6cc31138db7e5ee027cb5a4f60b9558 /arch/powerpc/kvm/book3s_hv_rm_mmu.c | |
parent | a56ee9f8f01c5a11ced541f00c67646336f402b6 (diff) | |
download | blackbird-op-linux-0d808df06a44200f52262b6eb72bcb6042f5a7c5.tar.gz blackbird-op-linux-0d808df06a44200f52262b6eb72bcb6042f5a7c5.zip |
KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state
When switching from/to a guest that has a transaction in progress,
we need to save/restore the checkpointed register state. Although
XER is part of the CPU state that gets checkpointed, the code that
does this saving and restoring doesn't save/restore XER.
This fixes it by saving and restoring the XER. To allow userspace
to read/write the checkpointed XER value, we also add a new ONE_REG
specifier.
The visible effect of this bug is that the guest may see its XER
value being corrupted when it uses transactions.
Fixes: e4e38121507a ("KVM: PPC: Book3S HV: Add transactional memory support")
Fixes: 0a8eccefcb34 ("KVM: PPC: Book3S HV: Add missing code for transaction reclaim on guest exit")
Cc: stable@vger.kernel.org # v3.15+
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Diffstat (limited to 'arch/powerpc/kvm/book3s_hv_rm_mmu.c')
0 files changed, 0 insertions, 0 deletions