Messages in this thread | | | Subject | Re: [PATCH] KVM: VMX: use correct vmcs_read/write for guest segment selector/base | From | Paolo Bonzini <> | Date | Tue, 21 Feb 2017 12:46:01 +0100 |
| |
On 21/02/2017 09:50, Chao Peng wrote: > Guest segment selector is 16 bit field and guest segment base is natural > width field. Fix two incorrect invocations accordingly. > > Without this patch, build fails when aggressive inlining is used with ICC. > > Cc: stable@vger.kernel.org > Signed-off-by: Chao Peng <chao.p.peng@linux.intel.com>
Applied, thanks.
Paolo
> --- > arch/x86/kvm/vmx.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index a236dec..2c22aef 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -3962,7 +3962,7 @@ static void fix_rmode_seg(int seg, struct kvm_segment *save) > } > > vmcs_write16(sf->selector, var.selector); > - vmcs_write32(sf->base, var.base); > + vmcs_writel(sf->base, var.base); > vmcs_write32(sf->limit, var.limit); > vmcs_write32(sf->ar_bytes, vmx_segment_access_rights(&var)); > } > @@ -8350,7 +8350,7 @@ static void kvm_flush_pml_buffers(struct kvm *kvm) > static void vmx_dump_sel(char *name, uint32_t sel) > { > pr_err("%s sel=0x%04x, attr=0x%05x, limit=0x%08x, base=0x%016lx\n", > - name, vmcs_read32(sel), > + name, vmcs_read16(sel), > vmcs_read32(sel + GUEST_ES_AR_BYTES - GUEST_ES_SELECTOR), > vmcs_read32(sel + GUEST_ES_LIMIT - GUEST_ES_SELECTOR), > vmcs_readl(sel + GUEST_ES_BASE - GUEST_ES_SELECTOR)); >
| |