Re: [PATCH] mm: ensure alloc_flags in slow path are initialized

From: David Rientjes
Date: Mon Jan 23 2017 - 17:54:35 EST


On Mon, 23 Jan 2017, Arnd Bergmann wrote:

> The __alloc_pages_slowpath() has gotten rather complex and gcc
> is no longer able to follow the gotos and prove that the
> alloc_flags variable is initialized at the time it is used:
>
> mm/page_alloc.c: In function '__alloc_pages_slowpath':
> mm/page_alloc.c:3565:15: error: 'alloc_flags' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>
> To be honest, I can't figure that out either, maybe it is or
> maybe not, but moving the existing initialization up a little
> higher looks safe and makes it obvious to both me and gcc that
> the initialization comes before the first use.
>
> Fixes: 74eaa4a97e8e ("mm: consolidate GFP_NOFAIL checks in the allocator slowpath")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>