OSDN Git Service

KVM: x86: Make enum conversion explicit in kvm_pdptr_read()
authorMatthias Kaehlcke <mka@chromium.org>
Mon, 26 Feb 2018 22:42:24 +0000 (14:42 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 16 Mar 2018 21:01:30 +0000 (22:01 +0100)
commit1df372f473f6b2790c5a614c021d1accff97a9c0
tree2a5170242d5907c4cd48e8d3a8ac3f937c1881c4
parent0bcc3fb95b97ac2ca223a5a870287b37f56265ac
KVM: x86: Make enum conversion explicit in kvm_pdptr_read()

The type 'enum kvm_reg_ex' is an extension of 'enum kvm_reg', however
the extension is only semantical and the compiler doesn't know about the
relationship between the two types. In kvm_pdptr_read() a value of the
extended type is passed to kvm_x86_ops->cache_reg(), which expects a
value of the base type. Clang raises the following warning about the
type mismatch:

arch/x86/kvm/kvm_cache_regs.h:44:32: warning: implicit conversion from
  enumeration type 'enum kvm_reg_ex' to different enumeration type
  'enum kvm_reg' [-Wenum-conversion]
    kvm_x86_ops->cache_reg(vcpu, VCPU_EXREG_PDPTR);

Cast VCPU_EXREG_PDPTR to 'enum kvm_reg' to make the compiler happy.

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
arch/x86/kvm/kvm_cache_regs.h