aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Boyer <[email protected]>2016-11-23 12:39:24 -0500
committerDoug Ledford <[email protected]>2016-12-12 16:31:45 -0500
commit5407f530122aa63cf304eb0874c938b3bdb8d3fb (patch)
tree7822306da4090789484d67fdb74ae3c201b7c130
parent5b9ea16c5488e577b26cc198ac63550b746ce3b9 (diff)
IB/rxe: Fix ref leak in duplicate_request()
A ref was added after the call to skb_clone(). Signed-off-by: Andrew Boyer <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
-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;