CC: [email protected] In-Reply-To: <[email protected]> References: <[email protected]> TO: Paolo Bonzini <[email protected]> TO: [email protected] TO: [email protected] CC: [email protected] CC: [email protected] CC: Andrew Morton <[email protected]> CC: Linux Memory Management List <[email protected]> CC: [email protected]
Hi Paolo, I love your patch! Perhaps something to improve: [auto build test WARNING on linux/master] [also build test WARNING on linus/master v5.11-rc6] [cannot apply to kvm/linux-next hnaz-linux-mm/master] [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/Paolo-Bonzini/KVM-do-not-assume-PTE-is-writable-after-follow_pfn/20210205-183434 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2ab38c17aac10bf55ab3efde4c4db3893d8691d2 :::::: branch date: 5 hours ago :::::: commit date: 5 hours ago config: i386-randconfig-s001-20210205 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-215-g0fb77bb6-dirty # https://github.com/0day-ci/linux/commit/ad5c7f2ccaf2872e1f56278a9e1a0c839c5cf518 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Paolo-Bonzini/KVM-do-not-assume-PTE-is-writable-after-follow_pfn/20210205-183434 git checkout ad5c7f2ccaf2872e1f56278a9e1a0c839c5cf518 # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> "sparse warnings: (new ones prefixed by >>)" mm/memory.c:5197:22: sparse: sparse: cast removes address space '__user' of expression mm/memory.c:943:17: sparse: sparse: context imbalance in 'copy_pte_range' - different lock contexts for basic block mm/memory.c:1623:16: sparse: sparse: context imbalance in '__get_locked_pte' - different lock contexts for basic block mm/memory.c:1672:9: sparse: sparse: context imbalance in 'insert_page' - different lock contexts for basic block mm/memory.c:2174:17: sparse: sparse: context imbalance in 'remap_pte_range' - different lock contexts for basic block mm/memory.c:2419:17: sparse: sparse: context imbalance in 'apply_to_pte_range' - unexpected unlock mm/memory.c:2676:9: sparse: sparse: context imbalance in 'wp_page_copy' - different lock contexts for basic block mm/memory.c:3022:17: sparse: sparse: context imbalance in 'wp_pfn_shared' - unexpected unlock mm/memory.c:3085:19: sparse: sparse: context imbalance in 'do_wp_page' - different lock contexts for basic block mm/memory.c:3657:19: sparse: sparse: context imbalance in 'pte_alloc_one_map' - different lock contexts for basic block mm/memory.c:3884:17: sparse: sparse: context imbalance in 'finish_fault' - unexpected unlock mm/memory.c:3993:9: sparse: sparse: context imbalance in 'do_fault_around' - unexpected unlock >> mm/memory.c:4712:5: sparse: sparse: context imbalance in >> 'follow_invalidate_pte' - wrong count at exit mm/memory.c:4827:23: sparse: sparse: context imbalance in 'follow_pfn' - unexpected unlock mm/memory.c:4857:9: sparse: sparse: context imbalance in 'follow_phys' - unexpected unlock vim +/follow_invalidate_pte +4712 mm/memory.c ^1da177e4c3f41 Linus Torvalds 2005-04-16 4711 ad5c7f2ccaf287 Paolo Bonzini 2021-02-05 @4712 int follow_invalidate_pte(struct mm_struct *mm, unsigned long address, ad5c7f2ccaf287 Paolo Bonzini 2021-02-05 4713 struct mmu_notifier_range *range, pte_t **ptepp, ad5c7f2ccaf287 Paolo Bonzini 2021-02-05 4714 pmd_t **pmdpp, spinlock_t **ptlp) f8ad0f499fad5c Johannes Weiner 2009-06-16 4715 { f8ad0f499fad5c Johannes Weiner 2009-06-16 4716 pgd_t *pgd; c2febafc67734a Kirill A. Shutemov 2017-03-09 4717 p4d_t *p4d; f8ad0f499fad5c Johannes Weiner 2009-06-16 4718 pud_t *pud; f8ad0f499fad5c Johannes Weiner 2009-06-16 4719 pmd_t *pmd; f8ad0f499fad5c Johannes Weiner 2009-06-16 4720 pte_t *ptep; f8ad0f499fad5c Johannes Weiner 2009-06-16 4721 f8ad0f499fad5c Johannes Weiner 2009-06-16 4722 pgd = pgd_offset(mm, address); f8ad0f499fad5c Johannes Weiner 2009-06-16 4723 if (pgd_none(*pgd) || unlikely(pgd_bad(*pgd))) f8ad0f499fad5c Johannes Weiner 2009-06-16 4724 goto out; f8ad0f499fad5c Johannes Weiner 2009-06-16 4725 c2febafc67734a Kirill A. Shutemov 2017-03-09 4726 p4d = p4d_offset(pgd, address); c2febafc67734a Kirill A. Shutemov 2017-03-09 4727 if (p4d_none(*p4d) || unlikely(p4d_bad(*p4d))) c2febafc67734a Kirill A. Shutemov 2017-03-09 4728 goto out; c2febafc67734a Kirill A. Shutemov 2017-03-09 4729 c2febafc67734a Kirill A. Shutemov 2017-03-09 4730 pud = pud_offset(p4d, address); f8ad0f499fad5c Johannes Weiner 2009-06-16 4731 if (pud_none(*pud) || unlikely(pud_bad(*pud))) f8ad0f499fad5c Johannes Weiner 2009-06-16 4732 goto out; f8ad0f499fad5c Johannes Weiner 2009-06-16 4733 f8ad0f499fad5c Johannes Weiner 2009-06-16 4734 pmd = pmd_offset(pud, address); f66055ab6fb973 Andrea Arcangeli 2011-01-13 4735 VM_BUG_ON(pmd_trans_huge(*pmd)); 097963959594c5 Ross Zwisler 2017-01-10 4736 097963959594c5 Ross Zwisler 2017-01-10 4737 if (pmd_huge(*pmd)) { 097963959594c5 Ross Zwisler 2017-01-10 4738 if (!pmdpp) f8ad0f499fad5c Johannes Weiner 2009-06-16 4739 goto out; f8ad0f499fad5c Johannes Weiner 2009-06-16 4740 ac46d4f3c43241 Jérôme Glisse 2018-12-28 4741 if (range) { 7269f999934b28 Jérôme Glisse 2019-05-13 4742 mmu_notifier_range_init(range, MMU_NOTIFY_CLEAR, 0, 6f4f13e8d9e27c Jérôme Glisse 2019-05-13 4743 NULL, mm, address & PMD_MASK, ac46d4f3c43241 Jérôme Glisse 2018-12-28 4744 (address & PMD_MASK) + PMD_SIZE); ac46d4f3c43241 Jérôme Glisse 2018-12-28 4745 mmu_notifier_invalidate_range_start(range); a4d1a885251382 Jérôme Glisse 2017-08-31 4746 } 097963959594c5 Ross Zwisler 2017-01-10 4747 *ptlp = pmd_lock(mm, pmd); 097963959594c5 Ross Zwisler 2017-01-10 4748 if (pmd_huge(*pmd)) { 097963959594c5 Ross Zwisler 2017-01-10 4749 *pmdpp = pmd; 097963959594c5 Ross Zwisler 2017-01-10 4750 return 0; 097963959594c5 Ross Zwisler 2017-01-10 4751 } 097963959594c5 Ross Zwisler 2017-01-10 4752 spin_unlock(*ptlp); ac46d4f3c43241 Jérôme Glisse 2018-12-28 4753 if (range) ac46d4f3c43241 Jérôme Glisse 2018-12-28 4754 mmu_notifier_invalidate_range_end(range); 097963959594c5 Ross Zwisler 2017-01-10 4755 } 097963959594c5 Ross Zwisler 2017-01-10 4756 097963959594c5 Ross Zwisler 2017-01-10 4757 if (pmd_none(*pmd) || unlikely(pmd_bad(*pmd))) f8ad0f499fad5c Johannes Weiner 2009-06-16 4758 goto out; f8ad0f499fad5c Johannes Weiner 2009-06-16 4759 ac46d4f3c43241 Jérôme Glisse 2018-12-28 4760 if (range) { 7269f999934b28 Jérôme Glisse 2019-05-13 4761 mmu_notifier_range_init(range, MMU_NOTIFY_CLEAR, 0, NULL, mm, 6f4f13e8d9e27c Jérôme Glisse 2019-05-13 4762 address & PAGE_MASK, 1ed7293ac40c5b Matthew Wilcox 2019-01-08 4763 (address & PAGE_MASK) + PAGE_SIZE); ac46d4f3c43241 Jérôme Glisse 2018-12-28 4764 mmu_notifier_invalidate_range_start(range); a4d1a885251382 Jérôme Glisse 2017-08-31 4765 } f8ad0f499fad5c Johannes Weiner 2009-06-16 4766 ptep = pte_offset_map_lock(mm, pmd, address, ptlp); f8ad0f499fad5c Johannes Weiner 2009-06-16 4767 if (!pte_present(*ptep)) f8ad0f499fad5c Johannes Weiner 2009-06-16 4768 goto unlock; f8ad0f499fad5c Johannes Weiner 2009-06-16 4769 *ptepp = ptep; f8ad0f499fad5c Johannes Weiner 2009-06-16 4770 return 0; f8ad0f499fad5c Johannes Weiner 2009-06-16 4771 unlock: f8ad0f499fad5c Johannes Weiner 2009-06-16 4772 pte_unmap_unlock(ptep, *ptlp); ac46d4f3c43241 Jérôme Glisse 2018-12-28 4773 if (range) ac46d4f3c43241 Jérôme Glisse 2018-12-28 4774 mmu_notifier_invalidate_range_end(range); f8ad0f499fad5c Johannes Weiner 2009-06-16 4775 out: f8ad0f499fad5c Johannes Weiner 2009-06-16 4776 return -EINVAL; f8ad0f499fad5c Johannes Weiner 2009-06-16 4777 } f8ad0f499fad5c Johannes Weiner 2009-06-16 4778 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
