git: 0d4f552d49d2 - stable/13 - cxgbe tom: Free pending iSCSI mbufs on connection shutdown.

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 29 Oct 2021 23:58:21 UTC
The branch stable/13 has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=0d4f552d49d2a8cda225955860d4a365fc2a9fbe

commit 0d4f552d49d2a8cda225955860d4a365fc2a9fbe
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2021-05-21 00:16:23 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2021-10-29 23:09:15 +0000

    cxgbe tom: Free pending iSCSI mbufs on connection shutdown.
    
    If an iSCSI connection is shutdown abruptly (e.g. by a RST from the
    peer), pending iSCSI PDUs and page pod work requests can be in the
    ulp_pduq when the final CPL is received indicating the death of the
    connection.
    
    Reported by:    Jithesh Arakkan @ Chelsio
    
    (cherry picked from commit 677cb9722a64d3f944d3e374e0ef1bb0e45644b5)
---
 sys/dev/cxgbe/tom/t4_tom.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys/dev/cxgbe/tom/t4_tom.c b/sys/dev/cxgbe/tom/t4_tom.c
index fe0ebfbd832b..f3cd8270d24d 100644
--- a/sys/dev/cxgbe/tom/t4_tom.c
+++ b/sys/dev/cxgbe/tom/t4_tom.c
@@ -863,6 +863,7 @@ final_cpl_received(struct toepcb *toep)
 		tls_detach(toep);
 	toep->inp = NULL;
 	toep->flags &= ~TPF_CPL_PENDING;
+	mbufq_drain(&toep->ulp_pduq);
 	mbufq_drain(&toep->ulp_pdu_reclaimq);
 
 	if (!(toep->flags & TPF_ATTACHED))