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:
Родитель
6f3d5eeec7
Коммит
1dfb8242e8
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче