• Chuck Lever's avatar
    xprtrdma: Prevent leak of rpcrdma_rep objects · 07e10308
    Chuck Lever authored
    If a reply has been processed but the RPC is later retransmitted
    anyway, the req->rl_reply field still contains the only pointer to
    the old rpcrdma rep. When the next reply comes in, the reply handler
    will stomp on the rl_reply field, leaking the old rep.
    
    A trace event is added to capture such leaks.
    
    This problem seems to be worsened by the restructuring of the RPC
    Call path in v4.20. Fully addressing this issue will require at
    least a re-architecture of the disconnect logic, which is not
    appropriate during -rc.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
    07e10308
rpc_rdma.c 36.8 KB