提交 b8179958 编写于 作者: S Sergey Senozhatsky 提交者: Linus Torvalds

zram: clean up zram_meta_alloc()

A trivial cleanup of zram_meta_alloc() error handling.
Signed-off-by: NSergey Senozhatsky <sergey.senozhatsky@gmail.com>
Acked-by: NMinchan Kim <minchan@kernel.org>
Cc: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 ff59909a
...@@ -318,31 +318,29 @@ static struct zram_meta *zram_meta_alloc(u64 disksize) ...@@ -318,31 +318,29 @@ static struct zram_meta *zram_meta_alloc(u64 disksize)
{ {
size_t num_pages; size_t num_pages;
struct zram_meta *meta = kmalloc(sizeof(*meta), GFP_KERNEL); struct zram_meta *meta = kmalloc(sizeof(*meta), GFP_KERNEL);
if (!meta) if (!meta)
goto out; return NULL;
num_pages = disksize >> PAGE_SHIFT; num_pages = disksize >> PAGE_SHIFT;
meta->table = vzalloc(num_pages * sizeof(*meta->table)); meta->table = vzalloc(num_pages * sizeof(*meta->table));
if (!meta->table) { if (!meta->table) {
pr_err("Error allocating zram address table\n"); pr_err("Error allocating zram address table\n");
goto free_meta; goto out_error;
} }
meta->mem_pool = zs_create_pool(GFP_NOIO | __GFP_HIGHMEM); meta->mem_pool = zs_create_pool(GFP_NOIO | __GFP_HIGHMEM);
if (!meta->mem_pool) { if (!meta->mem_pool) {
pr_err("Error creating memory pool\n"); pr_err("Error creating memory pool\n");
goto free_table; goto out_error;
} }
return meta; return meta;
free_table: out_error:
vfree(meta->table); vfree(meta->table);
free_meta:
kfree(meta); kfree(meta);
meta = NULL; return NULL;
out:
return meta;
} }
static void update_position(u32 *index, int *offset, struct bio_vec *bvec) static void update_position(u32 *index, int *offset, struct bio_vec *bvec)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册