Skip to content

Commit 96794e4

Browse files
chao-pbonzini
authored andcommitted
KVM: VMX: use correct vmcs_read/write for guest segment selector/base
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> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1 parent b7ffc44 commit 96794e4

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

arch/x86/kvm/vmx.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3905,7 +3905,7 @@ static void fix_rmode_seg(int seg, struct kvm_segment *save)
39053905
}
39063906

39073907
vmcs_write16(sf->selector, var.selector);
3908-
vmcs_write32(sf->base, var.base);
3908+
vmcs_writel(sf->base, var.base);
39093909
vmcs_write32(sf->limit, var.limit);
39103910
vmcs_write32(sf->ar_bytes, vmx_segment_access_rights(&var));
39113911
}
@@ -8270,7 +8270,7 @@ static void kvm_flush_pml_buffers(struct kvm *kvm)
82708270
static void vmx_dump_sel(char *name, uint32_t sel)
82718271
{
82728272
pr_err("%s sel=0x%04x, attr=0x%05x, limit=0x%08x, base=0x%016lx\n",
8273-
name, vmcs_read32(sel),
8273+
name, vmcs_read16(sel),
82748274
vmcs_read32(sel + GUEST_ES_AR_BYTES - GUEST_ES_SELECTOR),
82758275
vmcs_read32(sel + GUEST_ES_LIMIT - GUEST_ES_SELECTOR),
82768276
vmcs_readl(sel + GUEST_ES_BASE - GUEST_ES_SELECTOR));

0 commit comments

Comments
 (0)