summaryrefslogtreecommitdiff
path: root/drivers/infiniband/sw
diff options
context:
space:
mode:
authorAndrew Boyer <andrew.boyer@dell.com>2016-11-23 20:39:24 +0300
committerDoug Ledford <dledford@redhat.com>2016-12-13 00:31:45 +0300
commit5407f530122aa63cf304eb0874c938b3bdb8d3fb (patch)
tree7822306da4090789484d67fdb74ae3c201b7c130 /drivers/infiniband/sw
parent5b9ea16c5488e577b26cc198ac63550b746ce3b9 (diff)
downloadlinux-5407f530122aa63cf304eb0874c938b3bdb8d3fb.tar.xz
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')
-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;