Page MenuHomeFreeBSD

sctp: Fix lock recursion in sctp_swap_inpcb_for_listen()
ClosedPublic

Authored by markj on Sep 8 2021, 3:06 AM.
Tags
None
Referenced Files
F147602959: D31878.diff
Thu, Mar 12, 6:36 AM
Unknown Object (File)
Thu, Feb 26, 8:24 AM
Unknown Object (File)
Feb 8 2026, 3:35 PM
Unknown Object (File)
Feb 7 2026, 9:31 PM
Unknown Object (File)
Jan 31 2026, 9:18 AM
Unknown Object (File)
Dec 12 2025, 6:38 AM
Unknown Object (File)
Dec 6 2025, 3:23 AM
Unknown Object (File)
Nov 25 2025, 11:29 AM
Subscribers

Details

Summary

After commit bd4a39cc93d9 we now hold the global inp info lock across
the call to sctp_swap_inpcb_for_listen(), which attempts to acquire it
again. Since sctp_swap_inpcb_for_listen()'s sole caller is
sctp_listen(), we can simply change it to not try to acquire the lock.

Fixes: bd4a39cc93d9 ("socket: Properly interlock when transitioning to a listening socket")
Reported by: syzkaller

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable