tools/testing/selftests/kvm/x86_64/hyperv_features.c:618: undefined reference to `vm_handle_exception'

From: kernel test robot
Date: Wed Jun 30 2021 - 20:39:21 EST


Hi Paolo,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 440462198d9c45e48f2d8d9b18c5702d92282f46
commit: b8917b4ae44d1b945f6fba3d8ee6777edb44633b Merge tag 'kvmarm-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
date: 5 days ago
config: x86_64-rhel-8.3-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b8917b4ae44d1b945f6fba3d8ee6777edb44633b
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b8917b4ae44d1b945f6fba3d8ee6777edb44633b
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash -C tools/testing/selftests install

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

All errors (new ones prefixed by >>):

x86_64/hyperv_features.c: In function 'main':
x86_64/hyperv_features.c:618:2: warning: implicit declaration of function 'vm_handle_exception' [-Wimplicit-function-declaration]
618 | vm_handle_exception(vm, GP_VECTOR, guest_gp_handler);
| ^~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccHVDiCb.o: in function `main':
>> tools/testing/selftests/kvm/x86_64/hyperv_features.c:618: undefined reference to `vm_handle_exception'
>> collect2: error: ld returned 1 exit status
--
x86_64/mmu_role_test.c: In function 'mmu_role_test':
x86_64/mmu_role_test.c:74:2: warning: implicit declaration of function 'vm_handle_exception' [-Wimplicit-function-declaration]
74 | vm_handle_exception(vm, PF_VECTOR, guest_pf_handler);
| ^~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccbPeCPt.o: in function `mmu_role_test':
>> tools/testing/selftests/kvm/x86_64/mmu_role_test.c:74: undefined reference to `vm_handle_exception'
>> collect2: error: ld returned 1 exit status
--
x86_64/hyperv_features.c: In function 'main':
x86_64/hyperv_features.c:618:2: warning: implicit declaration of function 'vm_handle_exception' [-Wimplicit-function-declaration]
618 | vm_handle_exception(vm, GP_VECTOR, guest_gp_handler);
| ^~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/cc9s0XgX.o: in function `main':
>> tools/testing/selftests/kvm/x86_64/hyperv_features.c:618: undefined reference to `vm_handle_exception'
>> collect2: error: ld returned 1 exit status
--
x86_64/mmu_role_test.c: In function 'mmu_role_test':
x86_64/mmu_role_test.c:74:2: warning: implicit declaration of function 'vm_handle_exception' [-Wimplicit-function-declaration]
74 | vm_handle_exception(vm, PF_VECTOR, guest_pf_handler);
| ^~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/cc0l2qLq.o: in function `mmu_role_test':
>> tools/testing/selftests/kvm/x86_64/mmu_role_test.c:74: undefined reference to `vm_handle_exception'
>> collect2: error: ld returned 1 exit status


vim +618 tools/testing/selftests/kvm/x86_64/hyperv_features.c

e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 593
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 594 int main(void)
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 595 {
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 596 struct kvm_cpuid2 *best;
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 597 struct kvm_vm *vm;
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 598 vm_vaddr_t msr_gva, hcall_page, hcall_params;
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 599 struct kvm_enable_cap cap = {
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 600 .cap = KVM_CAP_HYPERV_ENFORCE_CPUID,
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 601 .args = {1}
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 602 };
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 603
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 604 /* Test MSRs */
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 605 vm = vm_create_default(VCPU_ID, 0, guest_msr);
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 606
a9db9609c0e41d Sean Christopherson 2021-06-22 607 msr_gva = vm_vaddr_alloc_page(vm);
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 608 memset(addr_gva2hva(vm, msr_gva), 0x0, getpagesize());
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 609 vcpu_args_set(vm, VCPU_ID, 1, msr_gva);
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 610 vcpu_enable_cap(vm, VCPU_ID, &cap);
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 611
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 612 vcpu_set_hv_cpuid(vm, VCPU_ID);
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 613
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 614 best = kvm_get_supported_hv_cpuid();
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 615
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 616 vm_init_descriptor_tables(vm);
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 617 vcpu_init_descriptor_tables(vm, VCPU_ID);
e2e1cc1fbe54a9 Vitaly Kuznetsov 2021-05-21 @618 vm_handle_exception(vm, GP_VECTOR, guest_gp_handler);

:::::: The code at line 618 was first introduced by commit
:::::: e2e1cc1fbe54a9520956a4539a3676d2ebf122dd KVM: selftests: Introduce hyperv_features test

:::::: TO: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
:::::: CC: Paolo Bonzini <pbonzini@xxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip