From: Namjae Jeon Date: Fri, 18 Jun 2021 01:29:56 +0000 (+0900) Subject: ksmbd: use goto instead of duplicating the resoure cleanup in ksmbd_open_fd X-Git-Tag: libata-5.15-2021-09-05~77^2~12^2~38 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=1dfb8242e8d982d036399766c4af62ddc221e38d;p=linux-2.6-block.git ksmbd: use goto instead of duplicating the resoure cleanup in ksmbd_open_fd Use goto instead of duplicating the resoure cleanup in ksmbd_open_fd. Reviewed-by: Christoph Hellwig Signed-off-by: Namjae Jeon Signed-off-by: Steve French --- diff --git a/fs/cifsd/vfs_cache.c b/fs/cifsd/vfs_cache.c index 3f18018668b6..71a11128d908 100644 --- a/fs/cifsd/vfs_cache.c +++ b/fs/cifsd/vfs_cache.c @@ -559,19 +559,22 @@ struct ksmbd_file *ksmbd_open_fd(struct ksmbd_work *work, struct file *filp) fp->f_ci = ksmbd_inode_get(fp); if (!fp->f_ci) { - kmem_cache_free(filp_cache, fp); - return ERR_PTR(-ENOMEM); + ret = -ENOMEM; + goto err_out; } ret = __open_id(&work->sess->file_table, fp, OPEN_ID_TYPE_VOLATILE_ID); if (ret) { ksmbd_inode_put(fp->f_ci); - kmem_cache_free(filp_cache, fp); - return ERR_PTR(ret); + goto err_out; } atomic_inc(&work->conn->stats.open_files_count); return fp; + +err_out: + kmem_cache_free(filp_cache, fp); + return ERR_PTR(ret); } static int