On Sun, Feb 05, 2023 at 01:09:13AM -0800, Harshit Mogalapalli wrote:
From: Zhang Xiaoxu zhangxiaoxu5@huawei.com
commit 9181f40fb2952fd59ecb75e7158620c9c669eee3 upstream.
If rdma receive buffer allocate failed, should call rpcrdma_regbuf_free() to free the send buffer, otherwise, the buffer data will be leaked.
Fixes: bb93a1ae2bf4 ("xprtrdma: Allocate req's regbufs at xprt create time") Signed-off-by: Zhang Xiaoxu zhangxiaoxu5@huawei.com Signed-off-by: Trond Myklebust trond.myklebust@hammerspace.com [Harshit: Backport to 5.4.y] Also make the same change for 'req->rl_rdmabuf' at the same time as this will also have the same memory leak problem as 'req->rl_sendbuf' (This is because commit b78de1dca00376aaba7a58bb5fe21c1606524abe is not in 5.4.y) Signed-off-by: Harshit Mogalapalli harshit.m.mogalapalli@oracle.com
Conflict resolution: Replace kfree(req->rl_sendbuf) with the correct free function rpcrdma_regbuf_free(req->rl_sendbuf) in out4 label.
Testing: Only compile and boot tested. Thanks to Vegard for pointing out the similar problem with 'req->rl_rdmabuf'
Now queued up, thanks.
greg k-h