tree: https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue head: 1a4d88a361af4f2e91861d632c6a1fe87a9665c2 commit: fe631a46409403616aa0c28c2c16cae7f7c92b1e [23/35] KVM: x86/mmu: Don't require refcounted "struct page" to create huge SPTEs config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220723/202207230706.VfX9Ycxh-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/virt/kvm/kvm.git/commit/?id=fe631a46409403616aa0c28c2c16cae7f7c92b1e git remote add kvm https://git.kernel.org/pub/scm/virt/kvm/kvm.git git fetch --no-tags kvm queue git checkout fe631a46409403616aa0c28c2c16cae7f7c92b1e # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kvm/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): arch/x86/kvm/mmu/mmu.c: In function 'kvm_mmu_zap_collapsible_spte': >> arch/x86/kvm/mmu/mmu.c:6391:19: warning: variable 'pfn' set but not used [-Wunused-but-set-variable] 6391 | kvm_pfn_t pfn; | ^~~ vim +/pfn +6391 arch/x86/kvm/mmu/mmu.c a3fe5dbda0a4bb arch/x86/kvm/mmu/mmu.c David Matlack 2022-01-19 6383 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6384 static bool kvm_mmu_zap_collapsible_spte(struct kvm *kvm, 0a234f5dd06582 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-02-12 6385 struct kvm_rmap_head *rmap_head, 269e9552d20817 arch/x86/kvm/mmu/mmu.c Hamza Mahfooz 2021-07-12 6386 const struct kvm_memory_slot *slot) 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6387 { 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6388 u64 *sptep; 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6389 struct rmap_iterator iter; 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6390 int need_tlb_flush = 0; ba049e93aef7e8 arch/x86/kvm/mmu.c Dan Williams 2016-01-15 @6391 kvm_pfn_t pfn; 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6392 struct kvm_mmu_page *sp; 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6393 0d5367900a319a arch/x86/kvm/mmu.c Xiao Guangrong 2015-05-13 6394 restart: 018aabb56d6109 arch/x86/kvm/mmu.c Takuya Yoshikawa 2015-11-20 6395 for_each_rmap_spte(rmap_head, &iter, sptep) { 573546820b792e arch/x86/kvm/mmu/mmu.c Sean Christopherson 2020-06-22 6396 sp = sptep_to_sp(sptep); 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6397 pfn = spte_to_pfn(*sptep); 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6398 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6399 /* decf63336e3564 arch/x86/kvm/mmu.c Xiao Guangrong 2015-04-14 6400 * We cannot do huge page mapping for indirect shadow pages, decf63336e3564 arch/x86/kvm/mmu.c Xiao Guangrong 2015-04-14 6401 * which are found on the last rmap (level = 1) when not using decf63336e3564 arch/x86/kvm/mmu.c Xiao Guangrong 2015-04-14 6402 * tdp; such shadow pages are synced with the page table in decf63336e3564 arch/x86/kvm/mmu.c Xiao Guangrong 2015-04-14 6403 * the guest, and the guest page table is using 4K page size decf63336e3564 arch/x86/kvm/mmu.c Xiao Guangrong 2015-04-14 6404 * mapping if the indirect sp has level = 1. 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6405 */ 5d49f08c2e08c1 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2022-04-29 6406 if (sp->role.direct && 9eba50f8d7fcb6 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-02-12 6407 sp->role.level < kvm_mmu_max_mapping_level(kvm, slot, sp->gfn, fe631a46409403 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2022-07-15 6408 PG_LEVEL_NUM)) { cfc155e11d410c arch/x86/kvm/mmu/mmu.c Sean Christopherson 2022-07-15 6409 kvm_zap_one_rmap_spte(kvm, rmap_head, sptep); 40ef75a758b291 arch/x86/kvm/mmu.c Lan Tianyu 2018-12-06 6410 40ef75a758b291 arch/x86/kvm/mmu.c Lan Tianyu 2018-12-06 6411 if (kvm_available_flush_tlb_with_range()) 40ef75a758b291 arch/x86/kvm/mmu.c Lan Tianyu 2018-12-06 6412 kvm_flush_remote_tlbs_with_address(kvm, sp->gfn, 40ef75a758b291 arch/x86/kvm/mmu.c Lan Tianyu 2018-12-06 6413 KVM_PAGES_PER_HPAGE(sp->role.level)); 40ef75a758b291 arch/x86/kvm/mmu.c Lan Tianyu 2018-12-06 6414 else 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6415 need_tlb_flush = 1; 40ef75a758b291 arch/x86/kvm/mmu.c Lan Tianyu 2018-12-06 6416 0d5367900a319a arch/x86/kvm/mmu.c Xiao Guangrong 2015-05-13 6417 goto restart; 0d5367900a319a arch/x86/kvm/mmu.c Xiao Guangrong 2015-05-13 6418 } 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6419 } 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6420 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6421 return need_tlb_flush; 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6422 } 3ea3b7fa9af067 arch/x86/kvm/mmu.c Wanpeng Li 2015-04-03 6423 :::::: The code at line 6391 was first introduced by commit :::::: ba049e93aef7e8c571567088b1b73f4f5b99272a kvm: rename pfn_t to kvm_pfn_t :::::: TO: Dan Williams <dan.j.williams@xxxxxxxxx> :::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> -- 0-DAY CI Kernel Test Service https://01.org/lkp