tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: e0b1f59142746f74476a03040f745329c8355a7e commit: e6fd5564c07c3c749ff3d1b2aa35540b4047e395 mm/gup: cache p4d in follow_p4d_mask() date: 9 months ago config: alpha-randconfig-r112-20250124 (https://download.01.org/0day-ci/archive/20250124/202501240922.a4YzQD7u-lkp@xxxxxxxxx/config) compiler: alpha-linux-gcc (GCC) 14.2.0 reproduce: (https://download.01.org/0day-ci/archive/20250124/202501240922.a4YzQD7u-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/202501240922.a4YzQD7u-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) >> mm/gup.c:778:15: sparse: sparse: cast to non-scalar >> mm/gup.c:778:15: sparse: sparse: cast from non-scalar mm/gup.c: note: in included file (through include/linux/mm.h): include/linux/pgtable.h:315:16: sparse: sparse: cast to non-scalar include/linux/pgtable.h:315:16: sparse: sparse: cast from non-scalar include/linux/pgtable.h:315:16: sparse: sparse: cast to non-scalar include/linux/pgtable.h:315:16: sparse: sparse: cast from non-scalar mm/gup.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/mm.h): include/linux/page-flags.h:241:46: sparse: sparse: self-comparison always evaluates to false mm/gup.c:682:9: sparse: sparse: context imbalance in 'follow_page_pte' - unexpected unlock mm/gup.c: note: in included file (through include/linux/mm.h): include/linux/pgtable.h:322:16: sparse: sparse: cast to non-scalar include/linux/pgtable.h:322:16: sparse: sparse: cast from non-scalar include/linux/pgtable.h:315:16: sparse: sparse: cast to non-scalar include/linux/pgtable.h:315:16: sparse: sparse: cast from non-scalar mm/gup.c:911:18: sparse: sparse: context imbalance in 'get_gate_page' - unexpected unlock vim +778 mm/gup.c 769 770 static struct page *follow_p4d_mask(struct vm_area_struct *vma, 771 unsigned long address, pgd_t *pgdp, 772 unsigned int flags, 773 struct follow_page_context *ctx) 774 { 775 p4d_t *p4dp, p4d; 776 777 p4dp = p4d_offset(pgdp, address); > 778 p4d = READ_ONCE(*p4dp); 779 if (p4d_none(p4d)) 780 return no_page_table(vma, flags); 781 BUILD_BUG_ON(p4d_huge(p4d)); 782 if (unlikely(p4d_bad(p4d))) 783 return no_page_table(vma, flags); 784 785 return follow_pud_mask(vma, address, p4dp, flags, ctx); 786 } 787 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki