lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202011091452.Vt0F7sXp-lkp@intel.com>
Date:   Mon, 9 Nov 2020 14:17:38 +0800
From:   kernel test robot <lkp@...el.com>
To:     Yang Weijiang <weijiang.yang@...el.com>, kvm@...r.kernel.org,
        linux-kernel@...r.kernel.org, pbonzini@...hat.com,
        sean.j.christopherson@...el.com, jmattson@...gle.com
Cc:     kbuild-all@...ts.01.org, yu.c.zhang@...ux.intel.com,
        Yang Weijiang <weijiang.yang@...el.com>
Subject: Re: [PATCH v14 09/13] KVM: x86: Report CET MSRs as to-be-saved if
 CET is supported

Hi Yang,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/master]
[also build test WARNING on linus/master kvm/linux-next v5.10-rc3 next-20201106]
[cannot apply to vhost/linux-next linux/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Yang-Weijiang/Introduce-support-for-guest-CET-feature/20201106-090915
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 6f72faf4a32303c8bdc6491186b79391e9cf0c7e
config: i386-randconfig-r022-20201109 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/d52c3d57bc17482b10d4071ea5b2cced7d2dc63e
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Yang-Weijiang/Introduce-support-for-guest-CET-feature/20201106-090915
        git checkout d52c3d57bc17482b10d4071ea5b2cced7d2dc63e
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

   In file included from arch/x86/kvm/cpuid.h:5,
                    from arch/x86/kvm/mmu.h:7,
                    from arch/x86/kvm/x86.c:22:
   arch/x86/kvm/x86.h: In function 'kvm_cet_supported':
   arch/x86/kvm/x86.h:291:25: error: 'XFEATURE_MASK_CET_USER' undeclared (first use in this function); did you mean 'XFEATURE_MASK_SSE'?
     291 |  return supported_xss & XFEATURE_MASK_CET_USER;
         |                         ^~~~~~~~~~~~~~~~~~~~~~
         |                         XFEATURE_MASK_SSE
   arch/x86/kvm/x86.h:291:25: note: each undeclared identifier is reported only once for each function it appears in
   arch/x86/kvm/x86.c: In function 'kvm_set_cr0':
   arch/x86/kvm/x86.c:852:53: error: 'X86_CR4_CET' undeclared (first use in this function); did you mean 'X86_CR4_DE'?
     852 |  if (!(cr0 & X86_CR0_WP) && kvm_read_cr4_bits(vcpu, X86_CR4_CET))
         |                                                     ^~~~~~~~~~~
         |                                                     X86_CR4_DE
   arch/x86/kvm/x86.c: In function 'kvm_set_cr4':
   arch/x86/kvm/x86.c:1016:13: error: 'X86_CR4_CET' undeclared (first use in this function); did you mean 'X86_CR4_DE'?
    1016 |  if ((cr4 & X86_CR4_CET) && !(kvm_read_cr0(vcpu) & X86_CR0_WP))
         |             ^~~~~~~~~~~
         |             X86_CR4_DE
   arch/x86/kvm/x86.c: At top level:
   arch/x86/kvm/x86.c:1251:2: error: 'MSR_IA32_U_CET' undeclared here (not in a function); did you mean 'MSR_IA32_PMC0'?
    1251 |  MSR_IA32_U_CET, MSR_IA32_S_CET, MSR_IA32_INT_SSP_TAB, MSR_KVM_GUEST_SSP,
         |  ^~~~~~~~~~~~~~
         |  MSR_IA32_PMC0
   arch/x86/kvm/x86.c:1251:18: error: 'MSR_IA32_S_CET' undeclared here (not in a function); did you mean 'MSR_IA32_PMC0'?
    1251 |  MSR_IA32_U_CET, MSR_IA32_S_CET, MSR_IA32_INT_SSP_TAB, MSR_KVM_GUEST_SSP,
         |                  ^~~~~~~~~~~~~~
         |                  MSR_IA32_PMC0
   arch/x86/kvm/x86.c:1251:34: error: 'MSR_IA32_INT_SSP_TAB' undeclared here (not in a function)
    1251 |  MSR_IA32_U_CET, MSR_IA32_S_CET, MSR_IA32_INT_SSP_TAB, MSR_KVM_GUEST_SSP,
         |                                  ^~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.c:1252:2: error: 'MSR_IA32_PL0_SSP' undeclared here (not in a function); did you mean 'MSR_IA32_MCG_ESP'?
    1252 |  MSR_IA32_PL0_SSP, MSR_IA32_PL1_SSP, MSR_IA32_PL2_SSP, MSR_IA32_PL3_SSP,
         |  ^~~~~~~~~~~~~~~~
         |  MSR_IA32_MCG_ESP
   arch/x86/kvm/x86.c:1252:20: error: 'MSR_IA32_PL1_SSP' undeclared here (not in a function); did you mean 'MSR_IA32_MCG_ESP'?
    1252 |  MSR_IA32_PL0_SSP, MSR_IA32_PL1_SSP, MSR_IA32_PL2_SSP, MSR_IA32_PL3_SSP,
         |                    ^~~~~~~~~~~~~~~~
         |                    MSR_IA32_MCG_ESP
   arch/x86/kvm/x86.c:1252:38: error: 'MSR_IA32_PL2_SSP' undeclared here (not in a function); did you mean 'MSR_IA32_MCG_ESP'?
    1252 |  MSR_IA32_PL0_SSP, MSR_IA32_PL1_SSP, MSR_IA32_PL2_SSP, MSR_IA32_PL3_SSP,
         |                                      ^~~~~~~~~~~~~~~~
         |                                      MSR_IA32_MCG_ESP
   arch/x86/kvm/x86.c:1252:56: error: 'MSR_IA32_PL3_SSP' undeclared here (not in a function); did you mean 'MSR_IA32_MCG_ESP'?
    1252 |  MSR_IA32_PL0_SSP, MSR_IA32_PL1_SSP, MSR_IA32_PL2_SSP, MSR_IA32_PL3_SSP,
         |                                                        ^~~~~~~~~~~~~~~~
         |                                                        MSR_IA32_MCG_ESP
   arch/x86/kvm/x86.c: In function 'is_xsaves_msr':
>> arch/x86/kvm/x86.c:3591:15: warning: comparison between pointer and integer
    3591 |  return index == MSR_IA32_U_CET ||
         |               ^~
   arch/x86/kvm/x86.c:3592:16: warning: comparison between pointer and integer
    3592 |         (index >= MSR_IA32_PL0_SSP && index <= MSR_IA32_PL3_SSP);
         |                ^~
   arch/x86/kvm/x86.c:3592:45: warning: comparison between pointer and integer
    3592 |         (index >= MSR_IA32_PL0_SSP && index <= MSR_IA32_PL3_SSP);
         |                                             ^~
   arch/x86/kvm/x86.c: In function 'kvm_arch_hardware_setup':
   arch/x86/kvm/x86.h:406:22: error: 'X86_FEATURE_SHSTK' undeclared (first use in this function); did you mean 'X86_FEATURE_EST'?
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |                      ^~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.c:10201:55: note: in definition of macro '__kvm_cpu_cap_has'
   10201 | #define __kvm_cpu_cap_has(UNUSED_, f) kvm_cpu_cap_has(f)
         |                                                       ^
   arch/x86/kvm/x86.c:10202:22: note: in expansion of macro '__cr4_reserved_bits'
   10202 |  cr4_reserved_bits = __cr4_reserved_bits(__kvm_cpu_cap_has, UNUSED_);
         |                      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/kvm/x86.h:406:22: warning: passing argument 1 of 'kvm_cpu_cap_has' makes integer from pointer without a cast [-Wint-conversion]
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |                      ^~~~~~~~~~~~~~~~~
         |                      |
         |                      const u32 * {aka const unsigned int *}
   arch/x86/kvm/x86.c:10201:55: note: in definition of macro '__kvm_cpu_cap_has'
   10201 | #define __kvm_cpu_cap_has(UNUSED_, f) kvm_cpu_cap_has(f)
         |                                                       ^
   arch/x86/kvm/x86.c:10202:22: note: in expansion of macro '__cr4_reserved_bits'
   10202 |  cr4_reserved_bits = __cr4_reserved_bits(__kvm_cpu_cap_has, UNUSED_);
         |                      ^~~~~~~~~~~~~~~~~~~
   In file included from arch/x86/kvm/mmu.h:7,
                    from arch/x86/kvm/x86.c:22:
   arch/x86/kvm/cpuid.h:301:58: note: expected 'unsigned int' but argument is of type 'const u32 *' {aka 'const unsigned int *'}
     301 | static __always_inline bool kvm_cpu_cap_has(unsigned int x86_feature)
         |                                             ~~~~~~~~~~~~~^~~~~~~~~~~
   arch/x86/kvm/x86.h:407:22: error: 'X86_FEATURE_IBT' undeclared (first use in this function); did you mean 'X86_FEATURE_IBS'?
     407 |      !__cpu_has(__c, X86_FEATURE_IBT))  \
         |                      ^~~~~~~~~~~~~~~
   arch/x86/kvm/x86.c:10201:55: note: in definition of macro '__kvm_cpu_cap_has'
   10201 | #define __kvm_cpu_cap_has(UNUSED_, f) kvm_cpu_cap_has(f)
         |                                                       ^
   arch/x86/kvm/x86.c:10202:22: note: in expansion of macro '__cr4_reserved_bits'
   10202 |  cr4_reserved_bits = __cr4_reserved_bits(__kvm_cpu_cap_has, UNUSED_);
         |                      ^~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:407:22: warning: passing argument 1 of 'kvm_cpu_cap_has' makes integer from pointer without a cast [-Wint-conversion]
     407 |      !__cpu_has(__c, X86_FEATURE_IBT))  \
         |                      ^~~~~~~~~~~~~~~
         |                      |
         |                      const u32 * {aka const unsigned int *}
   arch/x86/kvm/x86.c:10201:55: note: in definition of macro '__kvm_cpu_cap_has'
   10201 | #define __kvm_cpu_cap_has(UNUSED_, f) kvm_cpu_cap_has(f)
         |                                                       ^
   arch/x86/kvm/x86.c:10202:22: note: in expansion of macro '__cr4_reserved_bits'
   10202 |  cr4_reserved_bits = __cr4_reserved_bits(__kvm_cpu_cap_has, UNUSED_);
         |                      ^~~~~~~~~~~~~~~~~~~
   In file included from arch/x86/kvm/mmu.h:7,
                    from arch/x86/kvm/x86.c:22:
   arch/x86/kvm/cpuid.h:301:58: note: expected 'unsigned int' but argument is of type 'const u32 *' {aka 'const unsigned int *'}
     301 | static __always_inline bool kvm_cpu_cap_has(unsigned int x86_feature)
         |                                             ~~~~~~~~~~~~~^~~~~~~~~~~
   In file included from arch/x86/kvm/cpuid.h:5,
                    from arch/x86/kvm/mmu.h:7,
                    from arch/x86/kvm/x86.c:22:
   arch/x86/kvm/x86.h:408:22: error: 'X86_CR4_CET' undeclared (first use in this function); did you mean 'X86_CR4_DE'?
     408 |   __reserved_bits |= X86_CR4_CET;  \
         |                      ^~~~~~~~~~~
   arch/x86/kvm/x86.c:10202:22: note: in expansion of macro '__cr4_reserved_bits'
   10202 |  cr4_reserved_bits = __cr4_reserved_bits(__kvm_cpu_cap_has, UNUSED_);
         |                      ^~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:408:19: error: invalid operands to binary | (have 'u64' {aka 'long long unsigned int'} and 'const u32 *' {aka 'const unsigned int *'})
     408 |   __reserved_bits |= X86_CR4_CET;  \
         |                   ^~ ~~~~~~~~~~~
         |                      |
         |                      const u32 * {aka const unsigned int *}
   arch/x86/kvm/x86.c:10202:22: note: in expansion of macro '__cr4_reserved_bits'
   10202 |  cr4_reserved_bits = __cr4_reserved_bits(__kvm_cpu_cap_has, UNUSED_);
         |                      ^~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:408:3: warning: statement with no effect [-Wunused-value]
     408 |   __reserved_bits |= X86_CR4_CET;  \
         |   ^~~~~~~~~~~~~~~
   arch/x86/kvm/x86.c:10202:22: note: in expansion of macro '__cr4_reserved_bits'
   10202 |  cr4_reserved_bits = __cr4_reserved_bits(__kvm_cpu_cap_has, UNUSED_);
         |                      ^~~~~~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/thread_info.h:53,
                    from include/linux/thread_info.h:38,
                    from arch/x86/include/asm/preempt.h:7,
                    from include/linux/preempt.h:78,
                    from include/linux/percpu.h:6,
                    from include/linux/context_tracking_state.h:5,
                    from include/linux/hardirq.h:5,
                    from include/linux/kvm_host.h:7,
                    from arch/x86/kvm/x86.c:19:
   arch/x86/kvm/x86.c: In function 'kvm_arch_check_processor_compat':
   arch/x86/kvm/x86.h:406:22: error: 'X86_FEATURE_SHSTK' undeclared (first use in this function); did you mean 'X86_FEATURE_EST'?
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |                      ^~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:24: note: in definition of macro 'cpu_has'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                        ^~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:72:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      72 |   ( CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  0, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:72:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      72 |   ( CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  0, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:72:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      72 |   ( CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  0, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:72:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      72 |   ( CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  0, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:73:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      73 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  1, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:73:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      73 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  1, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:73:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      73 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  1, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:73:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      73 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  1, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:73:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      73 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  1, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:74:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      74 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  2, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:74:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      74 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  2, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:74:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      74 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  2, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:74:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      74 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  2, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:74:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      74 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  2, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:75:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      75 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  3, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:75:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      75 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  3, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:75:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      75 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  3, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:75:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      75 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  3, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:75:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      75 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  3, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:76:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      76 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  4, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:76:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      76 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  4, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:76:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      76 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  4, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:76:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      76 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  4, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:76:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      76 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  4, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:77:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      77 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  5, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:77:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      77 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  5, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:77:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      77 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  5, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:77:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      77 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  5, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:77:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      77 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  5, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:78:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      78 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  6, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:78:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      78 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  6, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:78:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      78 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  6, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:78:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      78 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  6, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:78:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      78 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  6, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:79:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      79 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  7, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:79:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      79 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  7, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:79:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      79 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  7, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:79:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      79 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  7, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:79:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      79 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  7, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:80:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      80 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  8, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:80:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      80 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  8, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:80:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      80 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  8, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:80:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      80 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  8, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:80:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      80 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  8, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:81:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      81 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  9, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:81:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      81 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  9, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:81:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      81 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  9, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:81:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      81 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  9, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:81:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      81 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK,  9, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:82:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      82 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 10, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:82:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      82 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 10, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:82:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      82 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 10, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:82:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      82 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 10, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:82:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      82 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 10, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:83:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      83 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 11, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:83:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      83 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 11, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:83:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      83 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 11, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:83:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      83 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 11, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:83:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      83 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 11, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:84:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      84 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 12, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:84:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      84 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 12, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:84:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      84 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 12, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:84:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      84 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 12, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:84:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      84 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 12, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:85:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      85 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 13, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:85:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      85 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 13, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:85:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      85 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 13, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:85:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      85 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 13, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:85:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      85 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 13, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:86:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      86 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 14, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:86:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      86 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 14, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:86:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      86 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 14, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:86:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      86 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 14, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:86:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      86 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 14, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:87:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      87 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 15, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:87:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      87 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 15, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:87:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      87 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 15, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:87:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      87 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 15, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:87:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      87 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 15, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:88:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      88 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 16, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:88:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      88 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 16, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:88:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      88 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 16, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:88:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      88 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 16, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:88:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      88 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 16, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:89:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      89 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 17, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:89:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      89 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 17, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:89:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      89 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 17, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:89:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      89 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 17, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:89:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      89 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 17, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:9: error: invalid operands to binary >> (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |    ~    ^~
         |    |
         |    const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:90:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      90 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/cpufeature.h:62:13: warning: comparison between pointer and integer
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |             ^~
   arch/x86/include/asm/cpufeature.h:90:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      90 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:37: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                                ~    ^
         |                                |
         |                                const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:90:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      90 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:29: error: invalid operands to binary << (have 'long unsigned int' and 'const u32 *' {aka 'const unsigned int *'})
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                             ^~
         |                             |
         |                             const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:90:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      90 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:62:42: error: invalid operands to binary & (have 'const u32 *' {aka 'const unsigned int *'} and 'int')
      62 |  (((bit)>>5)==(word) && (1UL<<((bit)&31) & maskname##word ))
         |                          ~~~             ^
         |                          |
         |                          const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:90:5: note: in expansion of macro 'CHECK_BIT_IN_MASK_WORD'
      90 |     CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \
         |     ^~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/cpufeature.h:118:32: note: in expansion of macro 'REQUIRED_MASK_BIT_SET'
     118 |  (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
         |                                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/x86.h:406:22: warning: passing argument 1 of 'test_bit' makes integer from pointer without a cast [-Wint-conversion]
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |                      ^~~~~~~~~~~~~~~~~
         |                      |
         |                      const u32 * {aka const unsigned int *}
   arch/x86/include/asm/cpufeature.h:52:12: note: in definition of macro 'test_cpu_cap'
      52 |   test_bit(bit, (unsigned long *)((c)->x86_capability))
         |            ^~~
   arch/x86/kvm/x86.h:406:7: note: in expansion of macro 'cpu_has'
     406 |  if (!__cpu_has(__c, X86_FEATURE_SHSTK) && \
         |       ^~~~~~~~~
   arch/x86/kvm/x86.c:10235:6: note: in expansion of macro '__cr4_reserved_bits'
   10235 |  if (__cr4_reserved_bits(cpu_has, c) !=
         |      ^~~~~~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/bitops.h:392,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/asm-generic/bug.h:20,
                    from arch/x86/include/asm/bug.h:93,
                    from include/linux/bug.h:5,
                    from include/linux/mmdebug.h:5,
                    from include/linux/percpu.h:5,
                    from include/linux/context_tracking_state.h:5,
                    from include/linux/hardirq.h:5,
                    from include/linux/kvm_host.h:7,
                    from arch/x86/kvm/x86.c:19:
   include/asm-generic/bitops/instrumented-non-atomic.h:132:34: note: expected 'long int' but argument is of type 'const u32 *' {aka 'const unsigned int *'}
     132 | static inline bool test_bit(long nr, const volatile unsigned long *addr)
         |                             ~~~~~^~
   In file included from arch/x86/include/asm/thread_info.h:53,
                    from include/linux/thread_info.h:38,
                    from arch/x86/include/asm/preempt.h:7,
                    from include/linux/preempt.h:78,
                    from include/linux/percpu.h:6,
                    from include/linux/context_tracking_state.h:5,

vim +3591 arch/x86/kvm/x86.c

15c4a6406f6c406 drivers/kvm/x86.c  Carsten Otte        2007-10-30  3588  
40d6256c456d0be arch/x86/kvm/x86.c Sean Christopherson 2020-11-06  3589  static bool is_xsaves_msr(u32 index)
40d6256c456d0be arch/x86/kvm/x86.c Sean Christopherson 2020-11-06  3590  {
40d6256c456d0be arch/x86/kvm/x86.c Sean Christopherson 2020-11-06 @3591  	return index == MSR_IA32_U_CET ||
40d6256c456d0be arch/x86/kvm/x86.c Sean Christopherson 2020-11-06  3592  	       (index >= MSR_IA32_PL0_SSP && index <= MSR_IA32_PL3_SSP);
40d6256c456d0be arch/x86/kvm/x86.c Sean Christopherson 2020-11-06  3593  }
40d6256c456d0be arch/x86/kvm/x86.c Sean Christopherson 2020-11-06  3594  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (40368 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ