Re: [PATCH] numa, mem-hotplug: Fix stack overflow in numa whenseting kernel nodes to unhotpluggable.

From: Dave Jones
Date: Thu Jan 23 2014 - 17:31:59 EST


On Thu, Jan 23, 2014 at 01:58:24AM -0500, Dave Jones wrote:

> 128 bytes is a pretty small amount of stack though, so I'm just as confused
> as to what the actual bug here is.
>
> After trying the proposed fix, I got another oops in the early init code..
>
> <trace>
> nr_free_zone_pages
> nr_free_pagecache_pages
> build_all_zonelists
> start_kernel
> <rip> ffffffffbc164b1e next_zones_zonelist
> <rsp> ffffffffbcc01f00

Ok, this is crashing here in next_zones_zonelist...

while (zonelist_zone_idx(z) > highest_zoneidx)
de: 3b 77 08 cmp 0x8(%rdi),%esi


I stuck this at the top of the function..

printk(KERN_ERR "z:%p nodes:%p highest:%d\n", z, nodes, highest_zoneidx);

and got

z: 1d08 nodes: (null) highest:3


Some build tests show..

MAXSMP ( NODESHIFT=10 ) : Bug
NRCPUS=4 & NODESHIFT=10 : Bug
NRCPUS=4 & NODESHIFT=1 : no bug


The middle config test was accidental, I hadn't realised disabling MAXSMP
wouldn't reset NODESHIFT to something sane.

I'll start bisecting, as MAXSMP worked fine until a few days ago.

Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/