| From: Bharat Potnuri <bharat@chelsio.com> |
| Date: Tue, 1 Aug 2017 10:58:35 +0530 |
| Subject: [PATCH] RDMA/uverbs: Initialize cq_context appropriately |
| References: bnc#1060662 |
| Patch-mainline: v4.12.10 |
| Git-commit: 65159c051c45f269cf40a14f9404248f2d524920 |
| Git-commit: 699a2d5b1b880b4e4e1c7d55fa25659322cf5b51 |
| |
| commit 65159c051c45f269cf40a14f9404248f2d524920 upstream. |
| |
| Initializing cq_context with ev_queue in create_cq(), leads to NULL pointer |
| dereference in ib_uverbs_comp_handler(), if application doesnot use completion |
| channel. This patch fixes the cq_context initialization. |
| |
| Fixes: 1e7710f3f65 ("IB/core: Change completion channel to use the reworked") |
| Signed-off-by: Potnuri Bharat Teja <bharat@chelsio.com> |
| Reviewed-by: Matan Barak <matanb@mellanox.com> |
| Signed-off-by: Doug Ledford <dledford@redhat.com> |
| (cherry picked from commit 699a2d5b1b880b4e4e1c7d55fa25659322cf5b51) |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Jiri Slaby <jslaby@suse.cz> |
| |
| drivers/infiniband/core/uverbs_cmd.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c |
| index f3f9d0b5dce0..5ea2d80800f9 100644 |
| |
| |
| @@ -1015,7 +1015,7 @@ static struct ib_ucq_object *create_cq(struct ib_uverbs_file *file, |
| cq->uobject = &obj->uobject; |
| cq->comp_handler = ib_uverbs_comp_handler; |
| cq->event_handler = ib_uverbs_cq_event_handler; |
| - cq->cq_context = &ev_file->ev_queue; |
| + cq->cq_context = ev_file ? &ev_file->ev_queue : NULL; |
| atomic_set(&cq->usecnt, 0); |
| |
| obj->uobject.object = cq; |
| -- |
| 2.14.2 |
| |