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 <hch@lst.de>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
Namjae Jeon 2021-06-18 10:29:56 +09:00
Родитель 6f3d5eeec7
Коммит 1dfb8242e8
1 изменённых файлов: 7 добавлений и 4 удалений

Просмотреть файл

@ -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