kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [kvm:queue 75/78] include/linux/compiler-gcc.h:96:38: error: inconsistent operand constraints in an 'asm'
@ 2021-02-02 21:28 kernel test robot
  2021-02-02 22:03 ` Sean Christopherson
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2021-02-02 21:28 UTC (permalink / raw)
  To: Sean Christopherson
  Cc: kbuild-all, kvm, Robert Hu, Farrah Chen, Danmei Wei, Paolo Bonzini

[-- Attachment #1: Type: text/plain, Size: 2888 bytes --]

tree:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
head:   21f7d796fb43e13f71746be37985da90df27e66e
commit: f84a54c045404f00bd77bf64233dad52149a6361 [75/78] KVM: SVM: Use asm goto to handle unexpected #UD on SVM instructions
config: i386-randconfig-a004-20210202 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/virt/kvm/kvm.git/commit/?id=f84a54c045404f00bd77bf64233dad52149a6361
        git remote add kvm https://git.kernel.org/pub/scm/virt/kvm/kvm.git
        git fetch --no-tags kvm queue
        git checkout f84a54c045404f00bd77bf64233dad52149a6361
        # 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@intel.com>

All errors (new ones prefixed by >>):

   In file included from include/linux/compiler_types.h:85,
                    from <command-line>:
   arch/x86/kvm/svm/sev.c: In function 'sev_es_vcpu_load':
>> include/linux/compiler-gcc.h:96:38: error: inconsistent operand constraints in an 'asm'
      96 | #define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
         |                                      ^~~
   arch/x86/kvm/svm/svm_ops.h:21:2: note: in expansion of macro 'asm_volatile_goto'
      21 |  asm_volatile_goto("1: "  __stringify(insn) " %0\n\t" \
         |  ^~~~~~~~~~~~~~~~~
   arch/x86/kvm/svm/svm_ops.h:56:2: note: in expansion of macro 'svm_asm1'
      56 |  svm_asm1(vmsave, "a" (pa), "memory");
         |  ^~~~~~~~


vim +/asm +96 include/linux/compiler-gcc.h

313dd1b629219d Kees Cook   2017-05-05  86  
cb984d101b30eb Joe Perches 2015-06-25  87  /*
cb984d101b30eb Joe Perches 2015-06-25  88   * GCC 'asm goto' miscompiles certain code sequences:
cb984d101b30eb Joe Perches 2015-06-25  89   *
cb984d101b30eb Joe Perches 2015-06-25  90   *   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
cb984d101b30eb Joe Perches 2015-06-25  91   *
cb984d101b30eb Joe Perches 2015-06-25  92   * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
cb984d101b30eb Joe Perches 2015-06-25  93   *
cb984d101b30eb Joe Perches 2015-06-25  94   * (asm goto is automatically volatile - the naming reflects this.)
cb984d101b30eb Joe Perches 2015-06-25  95   */
cb984d101b30eb Joe Perches 2015-06-25 @96  #define asm_volatile_goto(x...)	do { asm goto(x); asm (""); } while (0)
cb984d101b30eb Joe Perches 2015-06-25  97  

:::::: The code at line 96 was first introduced by commit
:::::: cb984d101b30eb7478d32df56a0023e4603cba7f compiler-gcc: integrate the various compiler-gcc[345].h files

:::::: TO: Joe Perches <joe@perches.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 35427 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [kvm:queue 75/78] include/linux/compiler-gcc.h:96:38: error: inconsistent operand constraints in an 'asm'
  2021-02-02 21:28 [kvm:queue 75/78] include/linux/compiler-gcc.h:96:38: error: inconsistent operand constraints in an 'asm' kernel test robot
@ 2021-02-02 22:03 ` Sean Christopherson
  0 siblings, 0 replies; 2+ messages in thread
From: Sean Christopherson @ 2021-02-02 22:03 UTC (permalink / raw)
  To: kernel test robot
  Cc: kbuild-all, kvm, Robert Hu, Farrah Chen, Danmei Wei, Paolo Bonzini

On Wed, Feb 03, 2021, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
> head:   21f7d796fb43e13f71746be37985da90df27e66e
> commit: f84a54c045404f00bd77bf64233dad52149a6361 [75/78] KVM: SVM: Use asm goto to handle unexpected #UD on SVM instructions
> config: i386-randconfig-a004-20210202 (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
> reproduce (this is a W=1 build):
>         # https://git.kernel.org/pub/scm/virt/kvm/kvm.git/commit/?id=f84a54c045404f00bd77bf64233dad52149a6361
>         git remote add kvm https://git.kernel.org/pub/scm/virt/kvm/kvm.git
>         git fetch --no-tags kvm queue
>         git checkout f84a54c045404f00bd77bf64233dad52149a6361
>         # 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@intel.com>
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from include/linux/compiler_types.h:85,
>                     from <command-line>:
>    arch/x86/kvm/svm/sev.c: In function 'sev_es_vcpu_load':
> >> include/linux/compiler-gcc.h:96:38: error: inconsistent operand constraints in an 'asm'
>       96 | #define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
>          |                                      ^~~
>    arch/x86/kvm/svm/svm_ops.h:21:2: note: in expansion of macro 'asm_volatile_goto'
>       21 |  asm_volatile_goto("1: "  __stringify(insn) " %0\n\t" \
>          |  ^~~~~~~~~~~~~~~~~
>    arch/x86/kvm/svm/svm_ops.h:56:2: note: in expansion of macro 'svm_asm1'
>       56 |  svm_asm1(vmsave, "a" (pa), "memory");
>          |  ^~~~~~~~

Blech.  The address is technically a physical address, but VMSAVE, VMRUN, etc...
consume rAX based on the effective address size.  Patch incoming...

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-02-02 22:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-02 21:28 [kvm:queue 75/78] include/linux/compiler-gcc.h:96:38: error: inconsistent operand constraints in an 'asm' kernel test robot
2021-02-02 22:03 ` Sean Christopherson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).