The branch main has been updated by tuexen:
URL:
https://cgit.FreeBSD.org/src/commit/?id=e8623834ca29b562687db945bdd12a3e2fe4aeb1
commit e8623834ca29b562687db945bdd12a3e2fe4aeb1
Author: Michael Tuexen <tue...@freebsd.org>
AuthorDate: 2025-03-31 01:25:53 +0000
Commit: Michael Tuexen <tue...@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+1d5c164f1c10de84a...@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);