Re: [PATCH v5 7/9] vmx: spp: Set up SPP paging table at vm-entry/exit

From: kbuild test robot
Date: Tue Sep 17 2019 - 06:57:15 EST


Hi Yang,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to v5.3 next-20190916]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Yang-Weijiang/Enable-Sub-page-Write-Protection-Support/20190917-165718
config: x86_64-lkp (attached as .config)
compiler: gcc-7 (Debian 7.4.0-11) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

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

All errors (new ones prefixed by >>):

arch/x86/kvm/vmx/vmx.c: In function 'handle_spp':
arch/x86/kvm/vmx/vmx.c:5389:9: error: implicit declaration of function 'kvm_spp_get_permission'; did you mean 'kvm_apic_set_version'? [-Werror=implicit-function-declaration]
ret = kvm_spp_get_permission(vcpu->kvm, &spp_info);
^~~~~~~~~~~~~~~~~~~~~~
kvm_apic_set_version
In file included from arch/x86/kvm/vmx/vmx.c:63:0:
arch/x86/kvm/vmx/vmx.c: In function 'vmx_set_cr3':
>> arch/x86/kvm/vmx/spp.h:10:12: error: inlining failed in call to always_inline 'construct_spptp': function body not available
inline u64 construct_spptp(unsigned long root_hpa);
^~~~~~~~~~~~~~~
arch/x86/kvm/vmx/vmx.c:2918:9: note: called from here
spptp = construct_spptp(vcpu->arch.mmu->sppt_root);
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

vim +/construct_spptp +10 arch/x86/kvm/vmx/spp.h

ded814173c867b Yang Weijiang 2019-09-17 6
d8d20dcdd099e5 Yang Weijiang 2019-09-17 7 bool is_spp_spte(struct kvm_mmu_page *sp);
45c11debf177b5 Yang Weijiang 2019-09-17 8 void restore_spp_bit(u64 *spte);
45c11debf177b5 Yang Weijiang 2019-09-17 9 bool was_spp_armed(u64 spte);
d8d20dcdd099e5 Yang Weijiang 2019-09-17 @10 inline u64 construct_spptp(unsigned long root_hpa);
5b98f4f41c5e1f Yang Weijiang 2019-09-17 11 int kvm_vm_ioctl_get_subpages(struct kvm *kvm,
5b98f4f41c5e1f Yang Weijiang 2019-09-17 12 struct kvm_subpage *spp_info);
5b98f4f41c5e1f Yang Weijiang 2019-09-17 13 int kvm_vm_ioctl_set_subpages(struct kvm *kvm,
5b98f4f41c5e1f Yang Weijiang 2019-09-17 14 struct kvm_subpage *spp_info);
5b98f4f41c5e1f Yang Weijiang 2019-09-17 15 int kvm_vm_ioctl_init_spp(struct kvm *kvm);
d8d20dcdd099e5 Yang Weijiang 2019-09-17 16 int kvm_spp_setup_structure(struct kvm_vcpu *vcpu,
d8d20dcdd099e5 Yang Weijiang 2019-09-17 17 u32 access_map, gfn_t gfn);
ded814173c867b Yang Weijiang 2019-09-17 18 int vmx_spp_flush_sppt(struct kvm *kvm, struct kvm_subpage *spp_info);
ded814173c867b Yang Weijiang 2019-09-17 19 void kvm_spp_free_memslot(struct kvm_memory_slot *free,
ded814173c867b Yang Weijiang 2019-09-17 20 struct kvm_memory_slot *dont);
ded814173c867b Yang Weijiang 2019-09-17 21 int vmx_spp_init(struct kvm *kvm);
d8d20dcdd099e5 Yang Weijiang 2019-09-17 22

:::::: The code at line 10 was first introduced by commit
:::::: d8d20dcdd099e58254195f4b083a76c3e39331de mmu: spp: Add SPP Table setup functions

:::::: TO: Yang Weijiang <weijiang.yang@xxxxxxxxx>
:::::: CC: 0day robot <lkp@xxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip