#
414499b3 |
| 23-Sep-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: Cleanup stream schedulers.
No functional change intended.
MFC after: 1 week
|
#
762ae0ec |
| 21-Sep-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: Simplify stream scheduler usage
Callers are getting the stcb send lock, so just KASSERT that. No need to signal this when calling stream scheduler functions. No functional change intended.
MF
sctp: Simplify stream scheduler usage
Callers are getting the stcb send lock, so just KASSERT that. No need to signal this when calling stream scheduler functions. No functional change intended.
MFC after: 1 week
show more ...
|
#
0b79a76f |
| 21-Sep-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: improve consistency when calling stream scheduler
Hold always the stcb send lock when calling sctp_ss_init() and sctp_ss_remove_from_stream().
MFC after: 1 week
|
#
34b1efce |
| 20-Sep-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: use a valid outstream when adding it to the scheduler
Without holding the stcb send lock, the outstreams might get reallocated if the number of streams are increased.
Reported by: syzbot+4a54
sctp: use a valid outstream when adding it to the scheduler
Without holding the stcb send lock, the outstreams might get reallocated if the number of streams are increased.
Reported by: syzbot+4a5431d7caa666f2c19c@syzkaller.appspotmail.com Reported by: syzbot+aa2e3b013a48870e193d@syzkaller.appspotmail.com Reported by: syzbot+e4368c3bde07cd2fb29f@syzkaller.appspotmail.com Reported by: syzbot+fe2f110e34811ea91690@syzkaller.appspotmail.com Reported by: syzbot+ed6e8de942351d0309f4@syzkaller.appspotmail.com MFC after: 1 week
show more ...
|
#
2d5c48ec |
| 11-Sep-2021 |
Mark Johnston <markj@FreeBSD.org> |
sctp: Tighten up locking around sctp_aloc_assoc()
All callers of sctp_aloc_assoc() mark the PCB as connected after a successful call (for one-to-one-style sockets). In all cases this is done withou
sctp: Tighten up locking around sctp_aloc_assoc()
All callers of sctp_aloc_assoc() mark the PCB as connected after a successful call (for one-to-one-style sockets). In all cases this is done without the PCB lock, so the PCB's flags can be corrupted. We also do not atomically check whether a one-to-one-style socket is a listening socket, which violates various assumptions in solisten_proto().
We need to hold the PCB lock across all of sctp_aloc_assoc() to fix this. In order to do that without introducing lock order reversals, we have to hold the global info lock as well.
So: - Convert sctp_aloc_assoc() so that the inp and info locks are consistently held. It returns with the association lock held, as before. - Fix an apparent bug where we failed to remove an association from a global hash if sctp_add_remote_addr() fails. - sctp_select_a_tag() is called when initializing an association, and it acquires the global info lock. To avoid lock recursion, push locking into its callers. - Introduce sctp_aloc_assoc_connected(), which atomically checks for a listening socket and sets SCTP_PCB_FLAGS_CONNECTED.
There is still one edge case in sctp_process_cookie_new() where we do not update PCB/socket state correctly.
Reviewed by: tuexen MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31908
show more ...
|
#
0c1a20be |
| 09-Sep-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: use appropriate argument when freeing association
Reported by: syzbot+7fe26e26911344e7211d@syzkaller.appspotmail.com MFC after: 3 days
|
#
aab1d593 |
| 08-Sep-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: minor cleanups, no functional change intended
|
#
173a7a4e |
| 07-Sep-2021 |
Mark Johnston <markj@FreeBSD.org> |
sctp: Fix iterator synchronization in sctp_sendall()
- The SCTP_PCB_FLAGS_SND_ITERATOR_UP check was racy, since two threads could observe that the flag is not set and then both set it. I'm not
sctp: Fix iterator synchronization in sctp_sendall()
- The SCTP_PCB_FLAGS_SND_ITERATOR_UP check was racy, since two threads could observe that the flag is not set and then both set it. I'm not sure if this is actually a problem in practice, i.e., maybe there's no problem having multiple sends for a single PCB in the iterator list? - sctp_sendall() was modifying sctp_flags without the inp lock held.
The change simply acquires the PCB write lock before toggling the flag, fixing both problems.
Reviewed by: tuexen MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31813
show more ...
|
#
631504fb |
| 04-Sep-2021 |
Gordon Bergling <gbe@FreeBSD.org> |
Fix a common typo in source code comments
- s/existant/existent/
MFC after: 3 days
|
#
3808ab73 |
| 09-Aug-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: remove some set, but unused variables
Thanks to pkasting for submitting the patch for the userland stack.
MFC after: 3 days
|
#
b732091a |
| 07-Aug-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: improve input validation of mapped addresses in send() Reported by: syzbot+35528f275f2eea6317cc@syzkaller.appspotmail.com Reported by: syzbot+ac29916d5f16d241553d@syzkaller.appspotmail.com MFC
sctp: improve input validation of mapped addresses in send() Reported by: syzbot+35528f275f2eea6317cc@syzkaller.appspotmail.com Reported by: syzbot+ac29916d5f16d241553d@syzkaller.appspotmail.com MFC after: 3 days
show more ...
|
#
105b68b4 |
| 09-Jul-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: Fix errno in case of association setup failures
Do not report always ETIMEDOUT, but only when appropriate. In other cases report ECONNABORTED.
MFC after: 3 days
|
#
c7f048ab |
| 27-Jun-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: initialize sequence numbers for ECN correctly
MFC after: 3 days Reported by: Junseok Yang (for the userland stack)
|
Revision tags: release/13.0.0 |
|
#
af885c57 |
| 31-Jan-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: improve input validation
Improve the handling of INIT chunks in specific szenarios and report and appropriate error cause. Thanks to Anatoly Korniltsev for reporting the issue for the userland
sctp: improve input validation
Improve the handling of INIT chunks in specific szenarios and report and appropriate error cause. Thanks to Anatoly Korniltsev for reporting the issue for the userland stack.
MFC after: 3 days
show more ...
|
#
0f7573ff |
| 24-Jan-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: fix PR-SCTP stats when adding addtional streams
MFC after: 1 week
|
#
7a051c0a |
| 23-Jan-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: improve consistency
No functional change intended.
MFC: 1 week
|
#
a7aa5eea |
| 01-Jan-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: improve handling of aborted associations
Don't clear a flag, when the structure already has been freed. Reported by: syzbot+07667d16c96779c737b4@syzkaller.appspotmail.com
|
Revision tags: release/12.2.0 |
|
#
a92d5016 |
| 16-Oct-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Improve the handling of cookie life times. The staleness reported in an error cause is in us, not ms. Enforce limits on the life time via sysct; and socket options consistently. Update the descriptio
Improve the handling of cookie life times. The staleness reported in an error cause is in us, not ms. Enforce limits on the life time via sysct; and socket options consistently. Update the description of the sysctl variable to use the right unit. Also do some minor cleanups. This also fixes an interger overflow issue if the peer can modify the cookie. This was reported by Felix Weinrank by fuzz testing the userland stack and in https://oss-fuzz.com/testcase-detail/4800394024452096
MFC after: 3 days
show more ...
|
#
e7a39b85 |
| 07-Oct-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Minor cleanups.
MFC after: 3 days
|
#
6176f9d6 |
| 06-Oct-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Remove dead stores reported by clang static code analysis
MFC after: 3 days
|
#
b6db274d |
| 24-Sep-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Whitespace changes.
MFC after: 3 days
|
#
662c1305 |
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
net: clean up empty lines in .c and .h files
|
#
404ff76b |
| 28-Aug-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Fix a regression with the explicit EOR mode I introduced in r364268. A short MFC time as discussed with the secteam.
Reported by: Taylor Brandstetter MFC after: 1 day
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
e81829d0 |
| 16-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r364264 through r364278.
|