summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/sw/rxe/rxe_resp.c
diff options
context:
space:
mode:
authorAndrew Boyer2016-11-23 18:39:24 +0100
committerDoug Ledford2016-12-12 22:31:45 +0100
commit5407f530122aa63cf304eb0874c938b3bdb8d3fb (patch)
tree7822306da4090789484d67fdb74ae3c201b7c130 /drivers/infiniband/sw/rxe/rxe_resp.c
parentIB/rxe: Fix ref leak in rxe_create_qp() (diff)
downloadkernel-qcow2-linux-5407f530122aa63cf304eb0874c938b3bdb8d3fb.tar.gz
kernel-qcow2-linux-5407f530122aa63cf304eb0874c938b3bdb8d3fb.tar.xz
kernel-qcow2-linux-5407f530122aa63cf304eb0874c938b3bdb8d3fb.zip
IB/rxe: Fix ref leak in duplicate_request()
A ref was added after the call to skb_clone(). Signed-off-by: Andrew Boyer <andrew.boyer@dell.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/sw/rxe/rxe_resp.c')
-rw-r--r--drivers/infiniband/sw/rxe/rxe_resp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_resp.c b/drivers/infiniband/sw/rxe/rxe_resp.c
index a5e9ce34171b..8643797fb530 100644
--- a/drivers/infiniband/sw/rxe/rxe_resp.c
+++ b/drivers/infiniband/sw/rxe/rxe_resp.c
@@ -1145,6 +1145,7 @@ static enum resp_states duplicate_request(struct rxe_qp *qp,
pkt, skb_copy);
if (rc) {
pr_err("Failed resending result. This flow is not handled - skb ignored\n");
+ rxe_drop_ref(qp);
kfree_skb(skb_copy);
rc = RESPST_CLEANUP;
goto out;