Re: [PATCH] mm/page_alloc: Add lockdep assertion for pageblock type change

From: kernel test robot
Date: Fri Feb 28 2025 - 18:43:41 EST


Hi Brendan,

kernel test robot noticed the following build errors:

[auto build test ERROR on d58172d128acbafa2295aa17cc96e28260da9a86]

url: https://github.com/intel-lab-lkp/linux/commits/Brendan-Jackman/mm-page_alloc-Add-lockdep-assertion-for-pageblock-type-change/20250228-002107
base: d58172d128acbafa2295aa17cc96e28260da9a86
patch link: https://lore.kernel.org/r/20250227-pageblock-lockdep-v1-1-3701efb331bb%40google.com
patch subject: [PATCH] mm/page_alloc: Add lockdep assertion for pageblock type change
config: i386-buildonly-randconfig-005-20250301 (https://download.01.org/0day-ci/archive/20250301/202503010632.CEkonAAQ-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250301/202503010632.CEkonAAQ-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/202503010632.CEkonAAQ-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from arch/x86/include/asm/bug.h:99,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:6,
from mm/page_alloc.c:19:
mm/page_alloc.c: In function 'set_pageblock_migratetype':
>> mm/page_alloc.c:421:17: error: implicit declaration of function 'in_mem_hotplug' [-Werror=implicit-function-declaration]
421 | in_mem_hotplug() ||
| ^~~~~~~~~~~~~~
include/asm-generic/bug.h:171:32: note: in definition of macro 'WARN_ON'
171 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
include/linux/lockdep.h:282:14: note: in expansion of macro 'WARN_ON_ONCE'
282 | do { WARN_ON_ONCE(debug_locks && !(cond)); } while (0)
| ^~~~~~~~~~~~
mm/page_alloc.c:420:9: note: in expansion of macro 'lockdep_assert_once'
420 | lockdep_assert_once(system_state == SYSTEM_BOOTING ||
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +/in_mem_hotplug +421 mm/page_alloc.c

417
418 void set_pageblock_migratetype(struct page *page, int migratetype)
419 {
420 lockdep_assert_once(system_state == SYSTEM_BOOTING ||
> 421 in_mem_hotplug() ||
422 lockdep_is_held(&page_zone(page)->lock));
423
424 if (unlikely(page_group_by_mobility_disabled &&
425 migratetype < MIGRATE_PCPTYPES))
426 migratetype = MIGRATE_UNMOVABLE;
427
428 set_pfnblock_flags_mask(page, (unsigned long)migratetype,
429 page_to_pfn(page), MIGRATETYPE_MASK);
430 }
431

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