All of lore.kernel.org
 help / color / mirror / Atom feed
* [davidhildenbrand:vm_normal_page_pud 6/9] mm/memory.c:525:6: error: array type 'pgd_t' (aka 'unsigned int[2]') is not assignable
@ 2025-07-16  1:13 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-07-16  1:13 UTC (permalink / raw)
  To: David Hildenbrand; +Cc: llvm, oe-kbuild-all

tree:   https://github.com/davidhildenbrand/linux vm_normal_page_pud
head:   45efeb8305fe9bbe4e6cfbd2adcf5810254f5828
commit: a9309234598507efc5d14aadf44296d5f9e40ecb [6/9] mm/memory: convert print_bad_pte() to print_bad_page_map()
config: arm-bcm2835_defconfig (https://download.01.org/0day-ci/archive/20250716/202507160956.vS2CVmpM-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 16534d19bf50bde879a83f0ae62875e2c5120e64)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250716/202507160956.vS2CVmpM-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507160956.vS2CVmpM-lkp@intel.com/

All errors (new ones prefixed by >>):

>> mm/memory.c:525:6: error: array type 'pgd_t' (aka 'unsigned int[2]') is not assignable
     525 |         pgd = pgdp_get(pgdp);
         |         ~~~ ^
   1 error generated.


vim +525 mm/memory.c

   508	
   509	static void __dump_bad_page_map_pgtable(struct mm_struct *mm, unsigned long addr)
   510	{
   511		unsigned long long pgdv, p4dv, pudv, pmdv;
   512		pgd_t pgd, *pgdp;
   513		p4d_t p4d, *p4dp;
   514		pud_t pud, *pudp;
   515		pmd_t *pmdp;
   516	
   517		/*
   518		 * This looks like a fully lockless walk, however, the caller is
   519		 * expected to hold the leaf page table lock in addition to other
   520		 * rmap/mm/vma locks. So this is just a re-walk to dump page table
   521		 * content while any concurrent modifications should be completely
   522		 * prevented.
   523		 */
   524		pgdp = pgd_offset(mm, addr);
 > 525		pgd = pgdp_get(pgdp);
   526		pgdv = pgd_val(pgd);
   527	
   528		if (!pgd_present(pgd) || pgd_leaf(pgd)) {
   529			pr_alert("pgd:%08llx\n", pgdv);
   530			return;
   531		}
   532	
   533		p4dp = p4d_offset(pgdp, addr);
   534		p4d = p4dp_get(p4dp);
   535		p4dv = p4d_val(p4d);
   536	
   537		if (!p4d_present(p4d) || p4d_leaf(p4d)) {
   538			pr_alert("pgd:%08llx p4d:%08llx\n", pgdv, p4dv);
   539			return;
   540		}
   541	
   542		pudp = pud_offset(p4dp, addr);
   543		pud = pudp_get(pudp);
   544		pudv = pud_val(pud);
   545	
   546		if (!pud_present(pud) || pud_leaf(pud)) {
   547			pr_alert("pgd:%08llx p4d:%08llx pud:%08llx\n", pgdv, p4dv, pudv);
   548			return;
   549		}
   550	
   551		pmdp = pmd_offset(pudp, addr);
   552		pmdv = pmd_val(pmdp_get(pmdp));
   553	
   554		/*
   555		 * Dumping the PTE would be nice, but it's tricky with CONFIG_HIGHPTE,
   556		 * because the table should already be mapped by the caller and
   557		 * doing another map would be bad. print_bad_page_map() should
   558		 * already take care of printing the PTE.
   559		 */
   560		pr_alert("pgd:%08llx p4d:%08llx pud:%08llx pmd:%08llx\n", pgdv,
   561			 p4dv, pudv, pmdv);
   562	}
   563	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-07-16  1:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-16  1:13 [davidhildenbrand:vm_normal_page_pud 6/9] mm/memory.c:525:6: error: array type 'pgd_t' (aka 'unsigned int[2]') is not assignable kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.