mirror of
https://github.com/hardkernel/linux.git
synced 2026-04-14 17:40:41 +09:00
KVM: VMX: use correct vmcs_read/write for guest segment selector/base
commit 96794e4ed4 upstream.
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.
Signed-off-by: Chao Peng <chao.p.peng@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0a3df0418d
commit
cae929bd8d
@@ -3499,7 +3499,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));
|
||||
}
|
||||
@@ -7905,7 +7905,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));
|
||||
|
||||
Reference in New Issue
Block a user