>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >> index 7892f84..211004e 100644 >> --- a/mm/page_alloc.c >> +++ b/mm/page_alloc.c >> @@ -2765,11 +2765,19 @@ out: >> */ >> void show_free_areas(unsigned int filter) >> { >> - int cpu; >> + int nid, cpu; >> + nodemask_t allownodes; >> struct zone *zone; >> > >I saw this added to the -mm tree today, but it has to be nacked with >apologies for not seeing the patch on the mailing list earlier. > Thanks, David. >show_free_areas() is called by the oom killer, so we know two things: it >can be called potentially very deep in the callchain and current is out of >memory. Both are killers for this patch since you're allocating >nodemask_t on the stack here which could cause an overflow and because you >can't easily fix that case with NODEMASK_ALLOC() since it allocates slab >with GFP_KERNEL when we we're oom, which would simply suppress vital >meminfo from being shown. > I'm not sure it's the possible to resolve the concerns with "static" here since "allownodes" will be cleared for each call to show_free_areas(). static nodemask_t allownodes; Thanks, Gavin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>