diff options
Diffstat (limited to 'drivers/infiniband/core/uverbs_cmd.c')
| -rw-r--r-- | drivers/infiniband/core/uverbs_cmd.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c index 3f55d18a3791..2c98533a0203 100644 --- a/drivers/infiniband/core/uverbs_cmd.c +++ b/drivers/infiniband/core/uverbs_cmd.c | |||
| @@ -1296,7 +1296,6 @@ ssize_t ib_uverbs_destroy_cq(struct ib_uverbs_file *file, | |||
| 1296 | struct ib_uobject *uobj; | 1296 | struct ib_uobject *uobj; |
| 1297 | struct ib_cq *cq; | 1297 | struct ib_cq *cq; |
| 1298 | struct ib_ucq_object *obj; | 1298 | struct ib_ucq_object *obj; |
| 1299 | struct ib_uverbs_event_queue *ev_queue; | ||
| 1300 | int ret = -EINVAL; | 1299 | int ret = -EINVAL; |
| 1301 | 1300 | ||
| 1302 | if (copy_from_user(&cmd, buf, sizeof cmd)) | 1301 | if (copy_from_user(&cmd, buf, sizeof cmd)) |
| @@ -1313,7 +1312,6 @@ ssize_t ib_uverbs_destroy_cq(struct ib_uverbs_file *file, | |||
| 1313 | */ | 1312 | */ |
| 1314 | uverbs_uobject_get(uobj); | 1313 | uverbs_uobject_get(uobj); |
| 1315 | cq = uobj->object; | 1314 | cq = uobj->object; |
| 1316 | ev_queue = cq->cq_context; | ||
| 1317 | obj = container_of(cq->uobject, struct ib_ucq_object, uobject); | 1315 | obj = container_of(cq->uobject, struct ib_ucq_object, uobject); |
| 1318 | 1316 | ||
| 1319 | memset(&resp, 0, sizeof(resp)); | 1317 | memset(&resp, 0, sizeof(resp)); |
| @@ -1935,7 +1933,8 @@ static int modify_qp(struct ib_uverbs_file *file, | |||
| 1935 | goto out; | 1933 | goto out; |
| 1936 | } | 1934 | } |
| 1937 | 1935 | ||
| 1938 | if (!rdma_is_port_valid(qp->device, cmd->base.port_num)) { | 1936 | if ((cmd->base.attr_mask & IB_QP_PORT) && |
| 1937 | !rdma_is_port_valid(qp->device, cmd->base.port_num)) { | ||
| 1939 | ret = -EINVAL; | 1938 | ret = -EINVAL; |
| 1940 | goto release_qp; | 1939 | goto release_qp; |
| 1941 | } | 1940 | } |
| @@ -2088,7 +2087,6 @@ ssize_t ib_uverbs_destroy_qp(struct ib_uverbs_file *file, | |||
| 2088 | struct ib_uverbs_destroy_qp cmd; | 2087 | struct ib_uverbs_destroy_qp cmd; |
| 2089 | struct ib_uverbs_destroy_qp_resp resp; | 2088 | struct ib_uverbs_destroy_qp_resp resp; |
| 2090 | struct ib_uobject *uobj; | 2089 | struct ib_uobject *uobj; |
| 2091 | struct ib_qp *qp; | ||
| 2092 | struct ib_uqp_object *obj; | 2090 | struct ib_uqp_object *obj; |
| 2093 | int ret = -EINVAL; | 2091 | int ret = -EINVAL; |
| 2094 | 2092 | ||
| @@ -2102,7 +2100,6 @@ ssize_t ib_uverbs_destroy_qp(struct ib_uverbs_file *file, | |||
| 2102 | if (IS_ERR(uobj)) | 2100 | if (IS_ERR(uobj)) |
| 2103 | return PTR_ERR(uobj); | 2101 | return PTR_ERR(uobj); |
| 2104 | 2102 | ||
| 2105 | qp = uobj->object; | ||
| 2106 | obj = container_of(uobj, struct ib_uqp_object, uevent.uobject); | 2103 | obj = container_of(uobj, struct ib_uqp_object, uevent.uobject); |
| 2107 | /* | 2104 | /* |
| 2108 | * Make sure we don't free the memory in remove_commit as we still | 2105 | * Make sure we don't free the memory in remove_commit as we still |
| @@ -3004,7 +3001,6 @@ int ib_uverbs_ex_destroy_wq(struct ib_uverbs_file *file, | |||
| 3004 | { | 3001 | { |
| 3005 | struct ib_uverbs_ex_destroy_wq cmd = {}; | 3002 | struct ib_uverbs_ex_destroy_wq cmd = {}; |
| 3006 | struct ib_uverbs_ex_destroy_wq_resp resp = {}; | 3003 | struct ib_uverbs_ex_destroy_wq_resp resp = {}; |
| 3007 | struct ib_wq *wq; | ||
| 3008 | struct ib_uobject *uobj; | 3004 | struct ib_uobject *uobj; |
| 3009 | struct ib_uwq_object *obj; | 3005 | struct ib_uwq_object *obj; |
| 3010 | size_t required_cmd_sz; | 3006 | size_t required_cmd_sz; |
| @@ -3038,7 +3034,6 @@ int ib_uverbs_ex_destroy_wq(struct ib_uverbs_file *file, | |||
| 3038 | if (IS_ERR(uobj)) | 3034 | if (IS_ERR(uobj)) |
| 3039 | return PTR_ERR(uobj); | 3035 | return PTR_ERR(uobj); |
| 3040 | 3036 | ||
| 3041 | wq = uobj->object; | ||
| 3042 | obj = container_of(uobj, struct ib_uwq_object, uevent.uobject); | 3037 | obj = container_of(uobj, struct ib_uwq_object, uevent.uobject); |
| 3043 | /* | 3038 | /* |
| 3044 | * Make sure we don't free the memory in remove_commit as we still | 3039 | * Make sure we don't free the memory in remove_commit as we still |
| @@ -3728,10 +3723,8 @@ ssize_t ib_uverbs_destroy_srq(struct ib_uverbs_file *file, | |||
| 3728 | struct ib_uverbs_destroy_srq cmd; | 3723 | struct ib_uverbs_destroy_srq cmd; |
| 3729 | struct ib_uverbs_destroy_srq_resp resp; | 3724 | struct ib_uverbs_destroy_srq_resp resp; |
| 3730 | struct ib_uobject *uobj; | 3725 | struct ib_uobject *uobj; |
| 3731 | struct ib_srq *srq; | ||
| 3732 | struct ib_uevent_object *obj; | 3726 | struct ib_uevent_object *obj; |
| 3733 | int ret = -EINVAL; | 3727 | int ret = -EINVAL; |
| 3734 | enum ib_srq_type srq_type; | ||
| 3735 | 3728 | ||
| 3736 | if (copy_from_user(&cmd, buf, sizeof cmd)) | 3729 | if (copy_from_user(&cmd, buf, sizeof cmd)) |
| 3737 | return -EFAULT; | 3730 | return -EFAULT; |
| @@ -3741,9 +3734,7 @@ ssize_t ib_uverbs_destroy_srq(struct ib_uverbs_file *file, | |||
| 3741 | if (IS_ERR(uobj)) | 3734 | if (IS_ERR(uobj)) |
| 3742 | return PTR_ERR(uobj); | 3735 | return PTR_ERR(uobj); |
| 3743 | 3736 | ||
| 3744 | srq = uobj->object; | ||
| 3745 | obj = container_of(uobj, struct ib_uevent_object, uobject); | 3737 | obj = container_of(uobj, struct ib_uevent_object, uobject); |
| 3746 | srq_type = srq->srq_type; | ||
| 3747 | /* | 3738 | /* |
| 3748 | * Make sure we don't free the memory in remove_commit as we still | 3739 | * Make sure we don't free the memory in remove_commit as we still |
| 3749 | * needs the uobject memory to create the response. | 3740 | * needs the uobject memory to create the response. |
