diff options
| author | Jesper Juhl <jj@chaosbits.net> | 2011-01-22 16:40:20 -0500 |
|---|---|---|
| committer | J. Bruce Fields <bfields@redhat.com> | 2011-03-17 14:38:03 -0400 |
| commit | 4be34b9d69c97211ff4eb00d79078f3c1593804d (patch) | |
| tree | 2e6b53f9b195829a7f02ea4b834b817f568426f3 | |
| parent | 5a02ab7c3c4580f94d13c683721039855b67cda6 (diff) | |
SUNRPC: Remove resource leak in svc_rdma_send_error()
We leak the memory allocated to 'ctxt' when we return after
'ib_dma_mapping_error()' returns !=0.
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
| -rw-r--r-- | net/sunrpc/xprtrdma/svc_rdma_transport.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c index 9df1eadc912a..1a10dcd999ea 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c | |||
| @@ -1335,6 +1335,7 @@ void svc_rdma_send_error(struct svcxprt_rdma *xprt, struct rpcrdma_msg *rmsgp, | |||
| 1335 | p, 0, length, DMA_FROM_DEVICE); | 1335 | p, 0, length, DMA_FROM_DEVICE); |
| 1336 | if (ib_dma_mapping_error(xprt->sc_cm_id->device, ctxt->sge[0].addr)) { | 1336 | if (ib_dma_mapping_error(xprt->sc_cm_id->device, ctxt->sge[0].addr)) { |
| 1337 | put_page(p); | 1337 | put_page(p); |
| 1338 | svc_rdma_put_context(ctxt, 1); | ||
| 1338 | return; | 1339 | return; |
| 1339 | } | 1340 | } |
| 1340 | atomic_inc(&xprt->sc_dma_used); | 1341 | atomic_inc(&xprt->sc_dma_used); |
