git: cb89ac5a1daa - stable/12 - Fix initiator panic after 6895f89fe54e.

Alexander Motin mav at FreeBSD.org
Mon Mar 15 03:01:34 UTC 2021


The branch stable/12 has been updated by mav:

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

commit cb89ac5a1daa7dd8d2306460ecbf5d8dac90b9a2
Author:     Alexander Motin <mav at FreeBSD.org>
AuthorDate: 2021-03-02 21:07:22 +0000
Commit:     Alexander Motin <mav at FreeBSD.org>
CommitDate: 2021-03-15 02:53:14 +0000

    Fix initiator panic after 6895f89fe54e.
    
    There are sessions without socket that are not disconnecting yet.
    
    MFC after:      3 weeks
    
    (cherry picked from commit 06e9c710998b83a3be21f7f264187fff5d590bc3)
---
 sys/dev/iscsi/icl_soft.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sys/dev/iscsi/icl_soft.c b/sys/dev/iscsi/icl_soft.c
index 7c8ca11f4ae3..ce0bb3bd4d2d 100644
--- a/sys/dev/iscsi/icl_soft.c
+++ b/sys/dev/iscsi/icl_soft.c
@@ -1290,9 +1290,11 @@ icl_soft_conn_close(struct icl_conn *ic)
 	ICL_CONN_LOCK(ic);
 	if (!ic->ic_disconnecting) {
 		so = ic->ic_socket;
-		SOCKBUF_LOCK(&so->so_rcv);
+		if (so)
+			SOCKBUF_LOCK(&so->so_rcv);
 		ic->ic_disconnecting = true;
-		SOCKBUF_UNLOCK(&so->so_rcv);
+		if (so)
+			SOCKBUF_UNLOCK(&so->so_rcv);
 	}
 	while (ic->ic_receive_running || ic->ic_send_running) {
 		cv_signal(&ic->ic_receive_cv);


More information about the dev-commits-src-all mailing list