Messages in this thread | | | Subject | Re: [PATCH] sgl_alloc_order: memory leak | From | Bart Van Assche <> | Date | Sun, 20 Sep 2020 08:29:39 -0700 |
| |
On 2020-09-19 22:36, Douglas Gilbert wrote: > Noticed that when sgl_alloc_order() failed with order > 0 that > free memory on my machine shrank. That function shouldn't call > sgl_free() on its error path since that is only correct when > order==0 . > > Signed-off-by: Douglas Gilbert <dgilbert@interlog.com> > --- > lib/scatterlist.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/scatterlist.c b/lib/scatterlist.c > index 5d63a8857f36..c448642e0f78 100644 > --- a/lib/scatterlist.c > +++ b/lib/scatterlist.c > @@ -514,7 +514,7 @@ struct scatterlist *sgl_alloc_order(unsigned long long length, > elem_len = min_t(u64, length, PAGE_SIZE << order); > page = alloc_pages(gfp, order); > if (!page) { > - sgl_free(sgl); > + sgl_free_order(sgl, order); > return NULL; > }
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
| |