[PATCH 03/11] KVM: PPC: Fix a mmio_host_swabbed uninitialized usage issue when VMX store

Paul Mackerras paulus at ozlabs.org
Thu May 3 15:48:26 AEST 2018


On Wed, Apr 25, 2018 at 07:54:36PM +0800, wei.guo.simon at gmail.com wrote:
> From: Simon Guo <wei.guo.simon at gmail.com>
> 
> 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 uninitiazed during VMX store procedure:
> 
> kvmppc_emulate_loadstore
> 	\- kvmppc_handle_store128_by2x64
> 		\- kvmppc_get_vmx_data
> 
> This patch corrects this by using kvmppc_need_byteswap() to choose
> double word of vr[] and initialized mmio_host_swabbed to avoid invisble
> trouble.
> 
> Signed-off-by: Simon Guo <wei.guo.simon at gmail.com>

The patch is correct, but I think the patch description needs to say
that 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.

Paul.


More information about the Linuxppc-dev mailing list