Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6031e079 authored by Dan Carpenter's avatar Dan Carpenter Committed by Doug Ledford
Browse files

IB/i40iw: Fix error code in i40iw_create_cq()



We accidentally forgot to set the error code if ib_copy_from_udata()
fails.  It means we return ERR_PTR(0) which is NULL and results in a
NULL dereference in the callers.

Fixes: d3749841 ("i40iw: add files for iwarp interface")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarShiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent 5c8857b6
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1168,8 +1168,10 @@ static struct ib_cq *i40iw_create_cq(struct ib_device *ibdev,
		memset(&req, 0, sizeof(req));
		iwcq->user_mode = true;
		ucontext = to_ucontext(context);
		if (ib_copy_from_udata(&req, udata, sizeof(struct i40iw_create_cq_req)))
		if (ib_copy_from_udata(&req, udata, sizeof(struct i40iw_create_cq_req))) {
			err_code = -EFAULT;
			goto cq_free_resources;
		}

		spin_lock_irqsave(&ucontext->cq_reg_mem_list_lock, flags);
		iwpbl = i40iw_get_pbl((unsigned long)req.user_cq_buffer,