git: e8623834ca29 - main - sctp: fix double unlock in case adding a remote address fails

From: Michael Tuexen <tuexen_at_FreeBSD.org>
Date: Mon, 31 Mar 2025 10:07:54 UTC
The branch main has been updated by tuexen:

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

commit e8623834ca29b562687db945bdd12a3e2fe4aeb1
Author:     Michael Tuexen <tuexen@FreeBSD.org>
AuthorDate: 2025-03-31 01:25:53 +0000
Commit:     Michael Tuexen <tuexen@FreeBSD.org>
CommitDate: 2025-03-31 01:25:53 +0000

    sctp: fix double unlock in case adding a remote address fails
    
    Thanks to glebius@ for pointing to the problem.
    
    Reported by:    syzbot+1d5c164f1c10de84ad8a@syzkaller.appspotmail.com
    Fixes:          2d5c48eccd9f ("sctp: Tighten up locking around sctp_aloc_assoc()"
    MFC after:      3 days
---
 sys/netinet/sctp_pcb.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c
index 55b452743f86..1a8a514fbf5f 100644
--- a/sys/netinet/sctp_pcb.c
+++ b/sys/netinet/sctp_pcb.c
@@ -4232,7 +4232,6 @@ sctp_aloc_assoc_locked(struct sctp_inpcb *inp, struct sockaddr *firstaddr,
 		LIST_REMOVE(stcb, sctp_asocs);
 		LIST_REMOVE(stcb, sctp_tcbasocidhash);
 		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_asoc), stcb);
-		SCTP_INP_WUNLOCK(inp);
 		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, ENOBUFS);
 		*error = ENOBUFS;
 		return (NULL);