mm/gup.c:778:15: sparse: sparse: cast to non-scalar

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux