Commit 47393fb5 authored by Dan Carpenter's avatar Dan Carpenter Committed by Jason Gunthorpe
Browse files

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


Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: default avatarJack Wang <jinpu.wang@cloud.ionos.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 6d1e7ba2
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -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);