提交 47393fb5 编写于 作者: D Dan Carpenter 提交者: Jason Gunthorpe

block/rnbd: Fix an IS_ERR() vs NULL check in find_or_create_sess()

The alloc_sess() function returns error pointers, it never returns NULL.

Fixes: f7a7a5c2 ("block/rnbd: client: main functionality")
Link: https://lore.kernel.org/r/20200519120347.GD42765@mwandaSigned-off-by: NDan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: NJack Wang <jinpu.wang@cloud.ionos.com>
Signed-off-by: NJason Gunthorpe <jgg@mellanox.com>
上级 6d1e7ba2
......@@ -923,13 +923,12 @@ rnbd_clt_session *find_or_create_sess(const char *sessname, bool *first)
sess = __find_and_get_sess(sessname);
if (!sess) {
sess = alloc_sess(sessname);
if (sess) {
list_add(&sess->list, &sess_list);
*first = true;
} else {
if (IS_ERR(sess)) {
mutex_unlock(&sess_lock);
return ERR_PTR(-ENOMEM);
return sess;
}
list_add(&sess->list, &sess_list);
*first = true;
} else
*first = false;
mutex_unlock(&sess_lock);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册