aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/nbd.c
diff options
context:
space:
mode:
authorSun Ke <sunke32@huawei.com>2021-05-12 19:43:31 +0800
committerJens Axboe <axboe@kernel.dk>2021-05-12 08:42:43 -0600
commitbedf78c4cbbbb65e42ede5ca2bd21887ef5b7060 (patch)
tree684d227ab72a6f78014eb2c2415351dc82c9275f /drivers/block/nbd.c
parentnbd: Fix NULL pointer in flush_workqueue (diff)
downloadlinux-dev-bedf78c4cbbbb65e42ede5ca2bd21887ef5b7060.tar.xz
linux-dev-bedf78c4cbbbb65e42ede5ca2bd21887ef5b7060.zip
nbd: share nbd_put and return by goto put_nbd
Replace the following two statements by the statement “goto put_nbd;” nbd_put(nbd); return 0; Signed-off-by: Sun Ke <sunke32@huawei.com> Suggested-by: Markus Elfring <Markus.Elfring@web.de> Reviewed-by: Josef Bacik <josef@toxicpanda.com> Link: https://lore.kernel.org/r/20210512114331.1233964-3-sunke32@huawei.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/nbd.c')
-rw-r--r--drivers/block/nbd.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 974da561b8e5..45d2c28c8fc8 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -2015,12 +2015,11 @@ static int nbd_genl_disconnect(struct sk_buff *skb, struct genl_info *info)
return -EINVAL;
}
mutex_unlock(&nbd_index_mutex);
- if (!refcount_inc_not_zero(&nbd->config_refs)) {
- nbd_put(nbd);
- return 0;
- }
+ if (!refcount_inc_not_zero(&nbd->config_refs))
+ goto put_nbd;
nbd_disconnect_and_put(nbd);
nbd_config_put(nbd);
+put_nbd:
nbd_put(nbd);
return 0;
}