[PATCH] SUNRPC: Remove resource leak in svc_rdma_send_error()
Subsystems:
kernel nfsd, sunrpc, and lockd servers , networking [general] , nfs, sunrpc, and lockd clients , the rest
STALE5690d
3 messages,
3 authors,
2011-03-17 · open the first message on its own page
We leak the memory allocated to 'ctxt' when we return after
'ib_dma_mapping_error()' returns !=0.
Signed-off-by: Jesper Juhl <redacted>
---
svc_rdma_transport.c | 1 +
1 file changed, 1 insertion(+)
compile tested only
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
index 9df1ead..1a10dcd 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,
p , 0 , length , DMA_FROM_DEVICE );
if ( ib_dma_mapping_error ( xprt -> sc_cm_id -> device , ctxt -> sge [ 0 ]. addr )) {
put_page ( p );
+ svc_rdma_put_context ( ctxt , 1 );
return ;
}
atomic_inc ( & xprt -> sc_dma_used );
--
Jesper Juhl <jj@chaosbits.net> http://www.chaosbits.net/
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please.
On Sat, Jan 22, 2011 at 10:40:20PM +0100, Jesper Juhl wrote: We leak the memory allocated to 'ctxt' when we return after
'ib_dma_mapping_error()' returns !=0.
Signed-off-by: Jesper Juhl <redacted>
I don't know this code, but I can't see how that could be wrong....
Applying unless Tom tells me otherwise.
--b.
quoted hunk - --
svc_rdma_transport.c | 1 +
1 file changed, 1 insertion(+)
compile tested only
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
index 9df1ead..1a10dcd 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,
p , 0 , length , DMA_FROM_DEVICE );
if ( ib_dma_mapping_error ( xprt -> sc_cm_id -> device , ctxt -> sge [ 0 ]. addr )) {
put_page ( p );
+ svc_rdma_put_context ( ctxt , 1 );
return ;
}
atomic_inc ( & xprt -> sc_dma_used );
--
Jesper Juhl <jj-IYz4IdjRLj0sV2N9l4h3zg@public.gmane.org> http://www.chaosbits.net/
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please. --
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Bruce,
I believe this fix is correct.
Tom
On 3/17/11 12:37 PM, J. Bruce Fields wrote: On Sat, Jan 22, 2011 at 10:40:20PM +0100, Jesper Juhl wrote: quoted We leak the memory allocated to 'ctxt' when we return after
'ib_dma_mapping_error()' returns !=0.
Signed-off-by: Jesper Juhl<redacted> I don't know this code, but I can't see how that could be wrong....
Applying unless Tom tells me otherwise.
--b.
quoted - --
svc_rdma_transport.c | 1 +
1 file changed, 1 insertion(+)
compile tested only
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
index 9df1ead..1a10dcd 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,
p , 0 , length , DMA_FROM_DEVICE );
if ( ib_dma_mapping_error ( xprt -> sc_cm_id -> device , ctxt -> sge [ 0 ]. addr )) {
put_page ( p );
+ svc_rdma_put_context ( ctxt , 1 );
return ;
}
atomic_inc ( & xprt -> sc_dma_used );
--
Jesper Juhl<jj@chaosbits.net> http://www.chaosbits.net/
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please. --
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/