Re: [PATCH 14/24] kvm: mmu: Wrap mmu_lock lock / unlock in a function

kernel test robot
2021-01-13T02:36:21Z

[-- Attachment #1: Type: text/plain, Size: 6173 bytes --]

Hi Ben,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.11-rc3 next-20210112]
[cannot apply to kvm/linux-next kvmarm/next]
[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/Ben-Gardon/Allow-parallel-page-faults-with-TDP-MMU/20210113-021817
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a0d54b4f5b219fb31f0776e9f53aa137e78ae431
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.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/07d5ac23775a490560374edfec570f64687a6f09
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ben-Gardon/Allow-parallel-page-faults-with-TDP-MMU/20210113-021817
git checkout 07d5ac23775a490560374edfec570f64687a6f09
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc

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/powerpc/kvm/book3s_mmu_hpte.c: In function 'kvmppc_mmu_hpte_cache_map':
>> arch/powerpc/kvm/book3s_mmu_hpte.c:63:15: error: passing argument 1 of 'kvm_mmu_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
63 | kvm_mmu_lock(vcpu3s);
| ^~~~~~
| |
| struct kvmppc_vcpu_book3s *
In file included from arch/powerpc/kvm/book3s_mmu_hpte.c:9:
include/linux/kvm_host.h:1498:31: note: expected 'struct kvm *' but argument is of type 'struct kvmppc_vcpu_book3s *'
1498 | void kvm_mmu_lock(struct kvm *kvm);
| ~~~~~~~~~~~~^~~
>> arch/powerpc/kvm/book3s_mmu_hpte.c:92:17: error: passing argument 1 of 'kvm_mmu_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
92 | kvm_mmu_unlock(vcpu3s);
| ^~~~~~
| |
| struct kvmppc_vcpu_book3s *
In file included from arch/powerpc/kvm/book3s_mmu_hpte.c:9:
include/linux/kvm_host.h:1499:33: note: expected 'struct kvm *' but argument is of type 'struct kvmppc_vcpu_book3s *'
1499 | void kvm_mmu_unlock(struct kvm *kvm);
| ~~~~~~~~~~~~^~~
arch/powerpc/kvm/book3s_mmu_hpte.c: In function 'invalidate_pte':
arch/powerpc/kvm/book3s_mmu_hpte.c:110:15: error: passing argument 1 of 'kvm_mmu_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
110 | kvm_mmu_lock(vcpu3s);
| ^~~~~~
| |
| struct kvmppc_vcpu_book3s *
In file included from arch/powerpc/kvm/book3s_mmu_hpte.c:9:
include/linux/kvm_host.h:1498:31: note: expected 'struct kvm *' but argument is of type 'struct kvmppc_vcpu_book3s *'
1498 | void kvm_mmu_lock(struct kvm *kvm);
| ~~~~~~~~~~~~^~~
arch/powerpc/kvm/book3s_mmu_hpte.c:114:18: error: passing argument 1 of 'kvm_mmu_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
114 | kvm_mmu_unlock(vcpu3s);
| ^~~~~~
| |
| struct kvmppc_vcpu_book3s *
In file included from arch/powerpc/kvm/book3s_mmu_hpte.c:9:
include/linux/kvm_host.h:1499:33: note: expected 'struct kvm *' but argument is of type 'struct kvmppc_vcpu_book3s *'
1499 | void kvm_mmu_unlock(struct kvm *kvm);
| ~~~~~~~~~~~~^~~
arch/powerpc/kvm/book3s_mmu_hpte.c:127:17: error: passing argument 1 of 'kvm_mmu_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
127 | kvm_mmu_unlock(vcpu3s);
| ^~~~~~
| |
| struct kvmppc_vcpu_book3s *
In file included from arch/powerpc/kvm/book3s_mmu_hpte.c:9:
include/linux/kvm_host.h:1499:33: note: expected 'struct kvm *' but argument is of type 'struct kvmppc_vcpu_book3s *'
1499 | void kvm_mmu_unlock(struct kvm *kvm);
| ~~~~~~~~~~~~^~~
cc1: some warnings being treated as errors

vim +/kvm_mmu_lock +63 arch/powerpc/kvm/book3s_mmu_hpte.c

55
56 void kvmppc_mmu_hpte_cache_map(struct kvm_vcpu *vcpu, struct hpte_cache *pte)
57 {
58 u64 index;
59 struct kvmppc_vcpu_book3s *vcpu3s = to_book3s(vcpu);
60
61 trace_kvm_book3s_mmu_map(pte);
62
> 63 kvm_mmu_lock(vcpu3s);
64
65 /* Add to ePTE list */
66 index = kvmppc_mmu_hash_pte(pte->pte.eaddr);
67 hlist_add_head_rcu(&pte->list_pte, &vcpu3s->hpte_hash_pte[index]);
68
69 /* Add to ePTE_long list */
70 index = kvmppc_mmu_hash_pte_long(pte->pte.eaddr);
71 hlist_add_head_rcu(&pte->list_pte_long,
72 &vcpu3s->hpte_hash_pte_long[index]);
73
74 /* Add to vPTE list */
75 index = kvmppc_mmu_hash_vpte(pte->pte.vpage);
76 hlist_add_head_rcu(&pte->list_vpte, &vcpu3s->hpte_hash_vpte[index]);
77
78 /* Add to vPTE_long list */
79 index = kvmppc_mmu_hash_vpte_long(pte->pte.vpage);
80 hlist_add_head_rcu(&pte->list_vpte_long,
81 &vcpu3s->hpte_hash_vpte_long[index]);
82
83 #ifdef CONFIG_PPC_BOOK3S_64
84 /* Add to vPTE_64k list */
85 index = kvmppc_mmu_hash_vpte_64k(pte->pte.vpage);
86 hlist_add_head_rcu(&pte->list_vpte_64k,
87 &vcpu3s->hpte_hash_vpte_64k[index]);
88 #endif
89
90 vcpu3s->hpte_cache_count++;
91
> 92 kvm_mmu_unlock(vcpu3s);
93 }
94

---
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: 72483 bytes --]