KVM: PPC: Fix a mmio_host_swabbed uninitialized usage issue
authorSimon Guo <wei.guo.simon@gmail.com>
Mon, 7 May 2018 06:20:09 +0000 (14:20 +0800)
committerPaul Mackerras <paulus@ozlabs.org>
Fri, 18 May 2018 05:38:23 +0000 (15:38 +1000)
commitf19d1f367a506bc645f8d6695942b8873fc82c84
treec79ad46b444623354f4fa028a022946107e2165e
parent173c520a049f57e2af498a3f0557d07797ce1c1b
KVM: PPC: Fix a mmio_host_swabbed uninitialized usage issue

When KVM emulates VMX store, it will invoke kvmppc_get_vmx_data() to
retrieve VMX reg val. kvmppc_get_vmx_data() will check mmio_host_swabbed
to decide which double word of vr[] to be used. But the
mmio_host_swabbed can be uninitialized during VMX store procedure:

kvmppc_emulate_loadstore
\- kvmppc_handle_store128_by2x64
\- kvmppc_get_vmx_data

So vcpu->arch.mmio_host_swabbed is not meant to be used at all for
emulation of store instructions, and this patch makes that true for
VMX stores. This patch also initializes mmio_host_swabbed to avoid
possible future problems.

Signed-off-by: Simon Guo <wei.guo.simon@gmail.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/kvm/emulate_loadstore.c
arch/powerpc/kvm/powerpc.c