From: Uladzislau Rezki (Sony) Date: Wed, 2 Jun 2021 03:52:32 +0000 (+1000) Subject: mm/vmalloc: print a warning message first on failure X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3464fa81898d5acd87e618980f6fa4f08fc76e4e;p=users%2Fjedix%2Flinux-maple.git mm/vmalloc: print a warning message first on failure When a memory allocation for array of pages are not succeed emit a warning message as a first step and then perform the further cleanup. The reason it should be done in a right order is the clean up function which is free_vm_area() can potentially also follow its error paths what can lead to confusion what was broken first. Link: https://lkml.kernel.org/r/20210516202056.2120-4-urezki@gmail.com Signed-off-by: Uladzislau Rezki (Sony) Cc: Hillf Danton Cc: Matthew Wilcox Cc: Mel Gorman Cc: Michal Hocko Cc: Nicholas Piggin Cc: Oleksiy Avramchenko Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Stephen Rothwell --- diff --git a/mm/vmalloc.c b/mm/vmalloc.c index f0df4b60f18ec..c01066a90097b 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -2780,11 +2780,11 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask, } if (!area->pages) { - free_vm_area(area); warn_alloc(gfp_mask, NULL, "vmalloc size %lu allocation failure: " "page array size %lu allocation failed", nr_small_pages * PAGE_SIZE, array_size); + free_vm_area(area); return NULL; }