Hi Ben, url: https://github.com/0day-ci/linux/commits/Ben-Gardon/Introduce-the-TDP-MMU/20200926-052649 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 6d28cf7dfede6cfca5119a0d415a6a447c68f3a0 config: x86_64-randconfig-m001-20201008 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: arch/x86/kvm/mmu/tdp_mmu.c:756 set_tdp_spte() error: uninitialized symbol 'new_spte'. vim +/new_spte +756 arch/x86/kvm/mmu/tdp_mmu.c 8753659d94fc330 Ben Gardon 2020-09-25 732 static int set_tdp_spte(struct kvm *kvm, struct kvm_memory_slot *slot, 8753659d94fc330 Ben Gardon 2020-09-25 733 struct kvm_mmu_page *root, gfn_t gfn, gfn_t unused, 8753659d94fc330 Ben Gardon 2020-09-25 734 unsigned long data) 8753659d94fc330 Ben Gardon 2020-09-25 735 { 8753659d94fc330 Ben Gardon 2020-09-25 736 struct tdp_iter iter; 8753659d94fc330 Ben Gardon 2020-09-25 737 pte_t *ptep = (pte_t *)data; 8753659d94fc330 Ben Gardon 2020-09-25 738 kvm_pfn_t new_pfn; 8753659d94fc330 Ben Gardon 2020-09-25 739 u64 new_spte; 8753659d94fc330 Ben Gardon 2020-09-25 740 int need_flush = 0; 8753659d94fc330 Ben Gardon 2020-09-25 741 int as_id = kvm_mmu_page_as_id(root); 8753659d94fc330 Ben Gardon 2020-09-25 742 8753659d94fc330 Ben Gardon 2020-09-25 743 WARN_ON(pte_huge(*ptep)); 8753659d94fc330 Ben Gardon 2020-09-25 744 8753659d94fc330 Ben Gardon 2020-09-25 745 new_pfn = pte_pfn(*ptep); 8753659d94fc330 Ben Gardon 2020-09-25 746 8753659d94fc330 Ben Gardon 2020-09-25 747 for_each_tdp_pte_root(iter, root, gfn, gfn + 1) { 8753659d94fc330 Ben Gardon 2020-09-25 748 if (iter.level != PG_LEVEL_4K) 8753659d94fc330 Ben Gardon 2020-09-25 749 continue; 8753659d94fc330 Ben Gardon 2020-09-25 750 8753659d94fc330 Ben Gardon 2020-09-25 751 if (!is_shadow_present_pte(iter.old_spte)) 8753659d94fc330 Ben Gardon 2020-09-25 752 break; 8753659d94fc330 Ben Gardon 2020-09-25 753 8753659d94fc330 Ben Gardon 2020-09-25 754 *iter.sptep = 0; 8753659d94fc330 Ben Gardon 2020-09-25 755 handle_changed_spte(kvm, as_id, iter.gfn, iter.old_spte, 8753659d94fc330 Ben Gardon 2020-09-25 @756 new_spte, iter.level); ^^^^^^^^ Not initialized on first iteration through the loop. 8753659d94fc330 Ben Gardon 2020-09-25 757 8753659d94fc330 Ben Gardon 2020-09-25 758 kvm_flush_remote_tlbs_with_address(kvm, iter.gfn, 1); 8753659d94fc330 Ben Gardon 2020-09-25 759 8753659d94fc330 Ben Gardon 2020-09-25 760 if (!pte_write(*ptep)) { 8753659d94fc330 Ben Gardon 2020-09-25 761 new_spte = kvm_mmu_changed_pte_notifier_make_spte( 8753659d94fc330 Ben Gardon 2020-09-25 762 iter.old_spte, new_pfn); 8753659d94fc330 Ben Gardon 2020-09-25 763 8753659d94fc330 Ben Gardon 2020-09-25 764 *iter.sptep = new_spte; 8753659d94fc330 Ben Gardon 2020-09-25 765 handle_changed_spte(kvm, as_id, iter.gfn, iter.old_spte, 8753659d94fc330 Ben Gardon 2020-09-25 766 new_spte, iter.level); 8753659d94fc330 Ben Gardon 2020-09-25 767 } 8753659d94fc330 Ben Gardon 2020-09-25 768 8753659d94fc330 Ben Gardon 2020-09-25 769 need_flush = 1; 8753659d94fc330 Ben Gardon 2020-09-25 770 } 8753659d94fc330 Ben Gardon 2020-09-25 771 8753659d94fc330 Ben Gardon 2020-09-25 772 if (need_flush) 8753659d94fc330 Ben Gardon 2020-09-25 773 kvm_flush_remote_tlbs_with_address(kvm, gfn, 1); 8753659d94fc330 Ben Gardon 2020-09-25 774 8753659d94fc330 Ben Gardon 2020-09-25 775 return 0; 8753659d94fc330 Ben Gardon 2020-09-25 776 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org