OSDN Git Service

RDMA/cxgb4: Protect from possible dereference
authorLeon Romanovsky <leon@kernel.org>
Sun, 29 Oct 2017 19:34:35 +0000 (21:34 +0200)
committerDoug Ledford <dledford@redhat.com>
Mon, 13 Nov 2017 18:53:22 +0000 (13:53 -0500)
Smatch tool reports the following error:
  drivers/infiniband/hw/cxgb4/qp.c:1886
c4iw_create_qp() error: we previously assumed 'ucontext'
could be null (see line 1804)

Cc: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Reviewed-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/cxgb4/qp.c

index 57b23e3..4b32673 100644 (file)
@@ -1843,7 +1843,7 @@ struct ib_qp *c4iw_create_qp(struct ib_pd *pd, struct ib_qp_init_attr *attrs,
        if (ret)
                goto err_destroy_qp;
 
-       if (udata) {
+       if (udata && ucontext) {
                sq_key_mm = kmalloc(sizeof(*sq_key_mm), GFP_KERNEL);
                if (!sq_key_mm) {
                        ret = -ENOMEM;