On 05/05/2016 10:24, Borislav Petkov wrote:
> On Wed, May 04, 2016 at 05:49:27PM -0700, Brooks Moses wrote:
>> When I run "make ARCH=x86 headers_install", and then write a simple C
>> file that #includes "asm/kvm.h" from the resulting tree, I get a
>> compiler error: the BIT() macro used on line 219 of that file is
>> undefined:
> 
> The below patch should help...
> 
> @Paulo: btw, any chance we can fix that "signifcant" typo :-) in
> KVM_CPUID_FLAG_SIGNIFCANT_INDEX or is it user-visible and cast in
> stone?

Unfortuntely it is cast in stone.  The patch below is good though.
Radim, please commit it
(http://article.gmane.org/gmane.linux.kernel/2215443/raw) or pass the
tree back to me so that I can. :)

Thanks,

Paolo

> ---
> From: Borislav Petkov <[email protected]>
> Date: Thu, 5 May 2016 10:18:23 +0200
> Subject: [PATCH] x86/kvm: Do not use BIT() in user-exported header
> 
> Apparently, we're not exporting BIT() to userspace.
> 
> Reported-by: Brooks Moses <[email protected]>
> Signed-off-by: Borislav Petkov <[email protected]>
> Cc: Paolo Bonzini <[email protected]>
> ---
>  arch/x86/include/uapi/asm/kvm.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/x86/include/uapi/asm/kvm.h b/arch/x86/include/uapi/asm/kvm.h
> index cd54147cb365..739c0c594022 100644
> --- a/arch/x86/include/uapi/asm/kvm.h
> +++ b/arch/x86/include/uapi/asm/kvm.h
> @@ -216,9 +216,9 @@ struct kvm_cpuid_entry2 {
>       __u32 padding[3];
>  };
>  
> -#define KVM_CPUID_FLAG_SIGNIFCANT_INDEX              BIT(0)
> -#define KVM_CPUID_FLAG_STATEFUL_FUNC         BIT(1)
> -#define KVM_CPUID_FLAG_STATE_READ_NEXT               BIT(2)
> +#define KVM_CPUID_FLAG_SIGNIFCANT_INDEX              (1 << 0)
> +#define KVM_CPUID_FLAG_STATEFUL_FUNC         (1 << 1)
> +#define KVM_CPUID_FLAG_STATE_READ_NEXT               (1 << 2)


Reviewed-by: Paolo Bonzini <[email protected]>

>  /* for KVM_SET_CPUID2 */
>  struct kvm_cpuid2 {
> 

Reply via email to