Message ID | 20221219123659.90614-1-lstoakes@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] mm: vmalloc: correct use of __GFP_NOWARN mask in __vmalloc_area_node() | expand |
On Mon, Dec 19, 2022 at 12:36:59PM +0000, Lorenzo Stoakes wrote: > This function sets __GFP_NOWARN in the gfp_mask rendering the warn_alloc() > invocations no-ops. Remove this and instead rely on this flag being set > only for the vm_area_alloc_pages() function, ensuring it is cleared for > each of the warn_alloc() calls. > > Signed-off-by: Lorenzo Stoakes <lstoakes@gmail.com> > --- > mm/vmalloc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index ca71de7c9d77..10fe83c24436 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -3031,7 +3031,7 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask, > int ret; > > array_size = (unsigned long)nr_small_pages * sizeof(struct page *); > - gfp_mask |= __GFP_NOWARN; > + > if (!(gfp_mask & (GFP_DMA | GFP_DMA32))) > gfp_mask |= __GFP_HIGHMEM; > > -- > 2.39.0 Reviewed-by: Uladzislau Rezki (Sony) <urezki@gmail.com> -- Uladzislau Rezki
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index ca71de7c9d77..10fe83c24436 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -3031,7 +3031,7 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask, int ret; array_size = (unsigned long)nr_small_pages * sizeof(struct page *); - gfp_mask |= __GFP_NOWARN; + if (!(gfp_mask & (GFP_DMA | GFP_DMA32))) gfp_mask |= __GFP_HIGHMEM;
This function sets __GFP_NOWARN in the gfp_mask rendering the warn_alloc() invocations no-ops. Remove this and instead rely on this flag being set only for the vm_area_alloc_pages() function, ensuring it is cleared for each of the warn_alloc() calls. Signed-off-by: Lorenzo Stoakes <lstoakes@gmail.com> --- mm/vmalloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.39.0