Hi Pingfan, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.20-rc7 next-20181220] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Pingfan-Liu/mm-bugfix-for-NULL-reference-in-mm-on-all-archs/20181221-152625 config: riscv-tinyconfig (attached as .config) compiler: riscv64-linux-gcc (GCC) 8.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=8.1.0 make.cross ARCH=riscv All errors (new ones prefixed by >>): mm/page_alloc.c: In function 'build_zonelists': >> mm/page_alloc.c:5288:12: error: 'local_node' redeclared as different kind of symbol int node, local_node; ^~~~~~~~~~ mm/page_alloc.c:5286:66: note: previous definition of 'local_node' was here static void build_zonelists(struct zonelist *node_zonelists, int local_node) ~~~~^~~~~~~~~~ vim +/local_node +5288 mm/page_alloc.c ^1da177e4 Linus Torvalds 2005-04-16 5285 e6ee0d8bd Pingfan Liu 2018-12-20 5286 static void build_zonelists(struct zonelist *node_zonelists, int local_node) ^1da177e4 Linus Torvalds 2005-04-16 5287 { 19655d348 Christoph Lameter 2006-09-25 @5288 int node, local_node; 9d3be21bf Michal Hocko 2017-09-06 5289 struct zoneref *zonerefs; 9d3be21bf Michal Hocko 2017-09-06 5290 int nr_zones; ^1da177e4 Linus Torvalds 2005-04-16 5291 e6ee0d8bd Pingfan Liu 2018-12-20 5292 zonerefs = node_zonelists[ZONELIST_FALLBACK]._zonerefs; e6ee0d8bd Pingfan Liu 2018-12-20 5293 nr_zones = build_zonerefs_node(local_node, zonerefs); 9d3be21bf Michal Hocko 2017-09-06 5294 zonerefs += nr_zones; ^1da177e4 Linus Torvalds 2005-04-16 5295 ^1da177e4 Linus Torvalds 2005-04-16 5296 /* ^1da177e4 Linus Torvalds 2005-04-16 5297 * Now we build the zonelist so that it contains the zones ^1da177e4 Linus Torvalds 2005-04-16 5298 * of all the other nodes. ^1da177e4 Linus Torvalds 2005-04-16 5299 * We don't want to pressure a particular node, so when ^1da177e4 Linus Torvalds 2005-04-16 5300 * building the zones for node N, we make sure that the ^1da177e4 Linus Torvalds 2005-04-16 5301 * zones coming right after the local ones are those from ^1da177e4 Linus Torvalds 2005-04-16 5302 * node N+1 (modulo N) ^1da177e4 Linus Torvalds 2005-04-16 5303 */ ^1da177e4 Linus Torvalds 2005-04-16 5304 for (node = local_node + 1; node < MAX_NUMNODES; node++) { ^1da177e4 Linus Torvalds 2005-04-16 5305 if (!node_online(node)) ^1da177e4 Linus Torvalds 2005-04-16 5306 continue; e6ee0d8bd Pingfan Liu 2018-12-20 5307 nr_zones = build_zonerefs_node(node, zonerefs); 9d3be21bf Michal Hocko 2017-09-06 5308 zonerefs += nr_zones; ^1da177e4 Linus Torvalds 2005-04-16 5309 } ^1da177e4 Linus Torvalds 2005-04-16 5310 for (node = 0; node < local_node; node++) { ^1da177e4 Linus Torvalds 2005-04-16 5311 if (!node_online(node)) ^1da177e4 Linus Torvalds 2005-04-16 5312 continue; e6ee0d8bd Pingfan Liu 2018-12-20 5313 nr_zones = build_zonerefs_node(node, zonerefs); 9d3be21bf Michal Hocko 2017-09-06 5314 zonerefs += nr_zones; ^1da177e4 Linus Torvalds 2005-04-16 5315 } ^1da177e4 Linus Torvalds 2005-04-16 5316 9d3be21bf Michal Hocko 2017-09-06 5317 zonerefs->zone = NULL; 9d3be21bf Michal Hocko 2017-09-06 5318 zonerefs->zone_idx = 0; ^1da177e4 Linus Torvalds 2005-04-16 5319 } ^1da177e4 Linus Torvalds 2005-04-16 5320 :::::: The code at line 5288 was first introduced by commit :::::: 19655d3487001d7df0e10e9cbfc27c758b77c2b5 [PATCH] linearly index zone->node_zonelists[] :::::: TO: Christoph Lameter <clameter@xxxxxxx> :::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip