* [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
0 siblings, 0 replies; 4+ 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] 4+ messages in thread
* [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
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-02-02 21:28 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2946 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(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 35427 bytes --]
^ permalink raw reply [flat|nested] 4+ 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 ` kernel test robot
@ 2021-02-02 22:03 ` Sean Christopherson
-1 siblings, 0 replies; 4+ 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] 4+ 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 22:03 ` Sean Christopherson
0 siblings, 0 replies; 4+ messages in thread
From: Sean Christopherson @ 2021-02-02 22:03 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 1890 bytes --]
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] 4+ messages in thread
end of thread, other threads:[~2021-02-02 22:05 UTC | newest]
Thread overview: 4+ 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 21:28 ` kernel test robot
2021-02-02 22:03 ` Sean Christopherson
2021-02-02 22:03 ` Sean Christopherson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.