Re: [PATCH 01/11] KVM: arm64: Add snap shooting the host stage-2 pagetables

From: kernel test robot
Date: Thu Sep 28 2023 - 14:39:03 EST


Hi Sebastian,

kernel test robot noticed the following build warnings:

[auto build test WARNING on arm64/for-next/core]
[also build test WARNING on kvmarm/next linus/master v6.6-rc3 next-20230928]
[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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Sebastian-Ene/KVM-arm64-Add-snap-shooting-the-host-stage-2-pagetables/20230927-192734
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
patch link: https://lore.kernel.org/r/20230927112517.2631674-2-sebastianene%40google.com
patch subject: [PATCH 01/11] KVM: arm64: Add snap shooting the host stage-2 pagetables
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20230929/202309290210.m6jkiTXx-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230929/202309290210.m6jkiTXx-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309290210.m6jkiTXx-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

arch/arm64/kvm/hyp/nvhe/mem_protect.c: In function '__pkvm_host_stage2_prepare_copy':
>> arch/arm64/kvm/hyp/nvhe/mem_protect.c:335:13: warning: variable 'nr_pages' set but not used [-Wunused-but-set-variable]
335 | u64 nr_pages;
| ^~~~~~~~


vim +/nr_pages +335 arch/arm64/kvm/hyp/nvhe/mem_protect.c

326
327 int __pkvm_host_stage2_prepare_copy(struct kvm_pgtable_snapshot *snapshot)
328 {
329 size_t required_pgd_len;
330 struct kvm_pgtable_mm_ops mm_ops = {0};
331 struct kvm_pgtable *to_pgt, *from_pgt = &host_mmu.pgt;
332 struct kvm_hyp_memcache *memcache = &snapshot->mc;
333 int ret;
334 void *pgd;
> 335 u64 nr_pages;
336
337 required_pgd_len = kvm_pgtable_stage2_pgd_size(host_mmu.arch.vtcr);
338 if (snapshot->pgd_len < required_pgd_len)
339 return -ENOMEM;
340
341 to_pgt = &snapshot->pgtable;
342 nr_pages = snapshot->pgd_len / PAGE_SIZE;
343 pgd = kern_hyp_va(snapshot->pgd_hva);
344
345 hyp_spin_lock(&snapshot_pool_lock);
346 hyp_pool_init(&snapshot_pool, hyp_virt_to_pfn(pgd),
347 required_pgd_len / PAGE_SIZE, 0);
348
349 mm_ops.zalloc_pages_exact = snapshot_zalloc_pages_exact;
350 mm_ops.zalloc_page = snapshot_zalloc_page;
351 mm_ops.free_pages_exact = snapshot_s2_free_pages_exact;
352 mm_ops.get_page = snapshot_get_page;
353 mm_ops.phys_to_virt = hyp_phys_to_virt;
354 mm_ops.virt_to_phys = hyp_virt_to_phys;
355 mm_ops.page_count = hyp_page_count;
356
357 to_pgt->ia_bits = from_pgt->ia_bits;
358 to_pgt->start_level = from_pgt->start_level;
359 to_pgt->flags = from_pgt->flags;
360 to_pgt->mm_ops = &mm_ops;
361
362 host_lock_component();
363 ret = kvm_pgtable_stage2_copy(to_pgt, from_pgt, memcache);
364 host_unlock_component();
365
366 hyp_spin_unlock(&snapshot_pool_lock);
367
368 return ret;
369 }
370 #endif /* CONFIG_NVHE_EL2_DEBUG */
371

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki