Re: [PATCH v8 10/17] KVM: s390: pv: add mmu_notifier

kernel test robot
2022-03-03T03:12:50Z

Hi Claudio,

I love your patch! Yet something to improve:

[auto build test ERROR on kvm/master]
[also build test ERROR on v5.17-rc6 next-20220302]
[cannot apply to kvms390/next s390/features]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Claudio-Imbrenda/KVM-s390-pv-implement-lazy-destroy-for-reboot/20220303-021407
base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git master
config: s390-buildonly-randconfig-r006-20220302 (https://download.01.org/0day-ci/archive/20220303/202203031051.SV8THyiU-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/bbf278ea47b7bdfb3c72e24faffedbb8a3a5b9f9
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Claudio-Imbrenda/KVM-s390-pv-implement-lazy-destroy-for-reboot/20220303-021407
git checkout bbf278ea47b7bdfb3c72e24faffedbb8a3a5b9f9
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash arch/s390/kvm/

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 >>):

arch/s390/kvm/kvm-s390.c: In function 'kvm_arch_destroy_vm':
>> arch/s390/kvm/kvm-s390.c:2839:17: error: implicit declaration of function 'mmu_notifier_unregister'; did you mean 'preempt_notifier_unregister'? [-Werror=implicit-function-declaration]
2839 | mmu_notifier_unregister(&kvm->arch.pv.mmu_notifier, kvm->mm);
| ^~~~~~~~~~~~~~~~~~~~~~~
| preempt_notifier_unregister
cc1: some warnings being treated as errors
--
arch/s390/kvm/pv.c: In function 'kvm_s390_pv_init_vm':
>> arch/s390/kvm/pv.c:260:17: error: implicit declaration of function 'mmu_notifier_register'; did you mean 'mmu_notifier_release'? [-Werror=implicit-function-declaration]
260 | mmu_notifier_register(&kvm->arch.pv.mmu_notifier, kvm->mm);
| ^~~~~~~~~~~~~~~~~~~~~
| mmu_notifier_release
cc1: some warnings being treated as errors

vim +2839 arch/s390/kvm/kvm-s390.c

2823
2824 void kvm_arch_destroy_vm(struct kvm *kvm)
2825 {
2826 u16 rc, rrc;
2827
2828 kvm_destroy_vcpus(kvm);
2829 sca_dispose(kvm);
2830 kvm_s390_gisa_destroy(kvm);
2831 /*
2832 * We are already at the end of life and kvm->lock is not taken.
2833 * This is ok as the file descriptor is closed by now and nobody
2834 * can mess with the pv state. To avoid lockdep_assert_held from
2835 * complaining we do not use kvm_s390_pv_is_protected.
2836 */
2837 if (kvm_s390_pv_get_handle(kvm)) {
2838 kvm_s390_pv_deinit_vm(kvm, &rc, &rrc);
> 2839 mmu_notifier_unregister(&kvm->arch.pv.mmu_notifier, kvm->mm);
2840 }
2841 debug_unregister(kvm->arch.dbf);
2842 free_page((unsigned long)kvm->arch.sie_page2);
2843 if (!kvm_is_ucontrol(kvm))
2844 gmap_remove(kvm->arch.gmap);
2845 kvm_s390_destroy_adapters(kvm);
2846 kvm_s390_clear_float_irqs(kvm);
2847 kvm_s390_vsie_destroy(kvm);
2848 KVM_EVENT(3, "vm 0x%pK destroyed", kvm);
2849 }
2850

---
0-DAY CI Kernel Test Service, Intel Corporation