]> www.infradead.org Git - users/willy/xarray.git/commitdiff
iser-target: Fix possible use-after-free in connection establishment error
authorSagi Grimberg <sagi@grimberg.me>
Sun, 26 Nov 2017 13:31:04 +0000 (15:31 +0200)
committerDoug Ledford <dledford@redhat.com>
Wed, 10 Jan 2018 21:46:03 +0000 (16:46 -0500)
In case we fail to establish the connection we must drain our pre-posted
login recieve work request before continuing safely with connection
teardown.

Fixes: a060b5629ab0 ("IB/core: generic RDMA READ/WRITE API")
Cc: <stable@vger.kernel.org> # 4.7+
Reported-by: Amrani, Ram <Ram.Amrani@cavium.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/ulp/isert/ib_isert.c

index 720dfb3a1ac271bd16950563006664e83cab6be8..1b02283ce20eff38897f2dcf729924ff6998ff52 100644 (file)
@@ -741,6 +741,7 @@ isert_connect_error(struct rdma_cm_id *cma_id)
 {
        struct isert_conn *isert_conn = cma_id->qp->qp_context;
 
+       ib_drain_qp(isert_conn->qp);
        list_del_init(&isert_conn->node);
        isert_conn->cm_id = NULL;
        isert_put_conn(isert_conn);