[bcain:bcain/qemu_boot 47/70] mm/mm_init.c:936:37: error: 'struct zone' has no member named 'pageblock_flags'

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/bcain/linux.git bcain/qemu_boot
head:   a8a4b998ba937d19200cfad69da3029fd54a8f5a
commit: 8d43a66fdb5007eb7f368b20a2ca44395e8e47d9 [47/70] mm: guard pageblock init against missing pageblock_flags
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20260717/[email protected]/config)
compiler: alpha-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260717/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   In file included from include/linux/array_size.h:5,
                    from include/linux/kernel.h:16,
                    from mm/mm_init.c:9:
   mm/mm_init.c: In function 'memmap_init_range':
>> mm/mm_init.c:936:37: error: 'struct zone' has no member named 'pageblock_flags'
     936 |                         if (likely(z->pageblock_flags)) {
         |                                     ^~
   include/linux/compiler.h:76:45: note: in definition of macro 'likely'
      76 | # define likely(x)      __builtin_expect(!!(x), 1)
         |                                             ^


vim +936 mm/mm_init.c

   903	
   904		for (pfn = start_pfn; pfn < end_pfn; ) {
   905			/*
   906			 * There can be holes in boot-time mem_map[]s handed to this
   907			 * function.  They do not exist on hotplugged memory.
   908			 */
   909			if (context == MEMINIT_EARLY) {
   910				if (overlap_memmap_init(zone, &pfn))
   911					continue;
   912				if (defer_init(nid, pfn, zone_end_pfn)) {
   913					deferred_struct_pages = true;
   914					break;
   915				}
   916			}
   917	
   918			page = pfn_to_page(pfn);
   919			__init_single_page(page, pfn, zone, nid);
   920			if (context == MEMINIT_HOTPLUG) {
   921	#ifdef CONFIG_ZONE_DEVICE
   922				if (zone == ZONE_DEVICE)
   923					__SetPageReserved(page);
   924				else
   925	#endif
   926					__SetPageOffline(page);
   927			}
   928	
   929			/*
   930			 * Usually, we want to mark the pageblock MIGRATE_MOVABLE,
   931			 * such that unmovable allocations won't be scattered all
   932			 * over the place during system boot.
   933			 */
   934			if (pageblock_aligned(pfn)) {
   935				struct zone *z = page_zone(page);
 > 936				if (likely(z->pageblock_flags)) {
   937					init_pageblock_migratetype(page, migratetype,
   938							isolate_pageblock);
   939				} else {
   940					pr_warn_once("memmap_init_range: skipping pageblock init for pfn 0x%lx (zone %s has no pageblock_flags)\n",
   941						     pfn, z->name);
   942				}
   943				cond_resched();
   944			}
   945			pfn++;
   946		}
   947	}
   948	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.