Re: [PATCH] KVM: x86: Make enum conversion explicit in kvm_pdptr_read()

From: Radim KrÄmÃÅ
Date: Wed Mar 07 2018 - 13:24:15 EST


2018-02-26 14:42-0800, Matthias Kaehlcke:
> 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:

Yeah, expressing this in C type system seems impossible.

> 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@xxxxxxxxxxxx>
> ---

Applied, thanks.