null_blk: null_alloc_page() cleanup
authorChaitanya Kulkarni <kch@nvidia.com>
Tue, 22 Feb 2022 15:28:52 +0000 (07:28 -0800)
committerJens Axboe <axboe@kernel.dk>
Sun, 27 Feb 2022 21:49:49 +0000 (14:49 -0700)
Remove goto labels and use direct returns as error unwinding code only
needs to free t_page variable if we alloc_pages() call fails as having
two labels for one kfree() can be avoided easily.

Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220222152852.26043-3-kch@nvidia.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/null_blk/main.c

index 80f9a6b..05b1120 100644 (file)
@@ -783,18 +783,16 @@ static struct nullb_page *null_alloc_page(void)
 
        t_page = kmalloc(sizeof(struct nullb_page), GFP_NOIO);
        if (!t_page)
-               goto out;
+               return NULL;
 
        t_page->page = alloc_pages(GFP_NOIO, 0);
-       if (!t_page->page)
-               goto out_freepage;
+       if (!t_page->page) {
+               kfree(t_page);
+               return NULL;
+       }
 
        memset(t_page->bitmap, 0, sizeof(t_page->bitmap));
        return t_page;
-out_freepage:
-       kfree(t_page);
-out:
-       return NULL;
 }
 
 static void null_free_page(struct nullb_page *t_page)