[kvm:queue 75/78] include/linux/compiler-gcc.h:96:38: error: inconsistent operand constraints in an 'asm'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

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@xxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux