* [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.