Messages in this thread | | | Date | Mon, 9 Nov 2015 09:33:32 +0900 | From | Sergey Senozhatsky <> | Subject | Re: [PATCH 1/2] zram: fix memory freeing in zram_meta_alloc |
| |
On (11/08/15 23:32), Geliang Tang wrote: > When meta->table is NULL, there is no need to vfree it. >
Hi,
So what's the benefit? It's ok to pass a NULL pointer to vfree(). Why would we add another label? To avoid a valid call on error path?
-ss
> Signed-off-by: Geliang Tang <geliangtang@163.com> > --- > drivers/block/zram/zram_drv.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c > index 81a557c..197a7ad 100644 > --- a/drivers/block/zram/zram_drv.c > +++ b/drivers/block/zram/zram_drv.c > @@ -511,7 +511,7 @@ static struct zram_meta *zram_meta_alloc(char *pool_name, u64 disksize) > meta->table = vzalloc(num_pages * sizeof(*meta->table)); > if (!meta->table) { > pr_err("Error allocating zram address table\n"); > - goto out_error; > + goto out_free; > } > > meta->mem_pool = zs_create_pool(pool_name, GFP_NOIO | __GFP_HIGHMEM); > @@ -524,6 +524,7 @@ static struct zram_meta *zram_meta_alloc(char *pool_name, u64 disksize) > > out_error: > vfree(meta->table); > +out_free: > kfree(meta); > return NULL; > } > -- > 2.5.0 > >
| |