Michael Tuexen
112899c6af
sctp: improve input validation of mapped addresses in sctp_connectx()
...
MFC after: 3 days
2021-08-07 15:12:09 +02:00
Michael Tuexen
105b68b42d
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
2021-07-09 23:19:25 +02:00
Michael Tuexen
ce64352a70
sctp: provide consistent stream information in case of early errors
...
While there, make sure the function is called correctly.
MFC after: 3 days
2021-07-09 14:16:59 +02:00
Michael Tuexen
84992a3251
sctp: provide sac_error also for ABORT chunk being sent
...
Thanks to Florent Castelli for bringing this issue up for the
userland stack and providing an initial patch.
MFC: 3 days
2021-07-09 13:46:27 +02:00
Michael Tuexen
c7f048ab35
sctp: initialize sequence numbers for ECN correctly
...
MFC after: 3 days
Reported by: Junseok Yang (for the userland stack)
2021-06-27 20:14:48 +02:00
Mark Johnston
a100217489
Consistently use the SOCKBUF_MTX() and SOCK_MTX() macros
...
This makes it easier to change the socket locking protocols. No
functional change intended.
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
2021-06-14 17:32:32 -04:00
Michael Tuexen
e010d20032
sctp: update the vtag for INIT and INIT-ACK chunks
...
This is needed in case of responding with an ABORT to an INIT-ACK.
2021-04-30 13:33:16 +02:00
Michael Tuexen
d995cc7e54
sctp: fix handling of RTO.initial of 1 ms
...
MFC after: 3 days
Reported by: syzbot+5eb0e009147050056ce9@syzkaller.appspotmail.com
2021-03-22 16:44:18 +01:00
Michael Tuexen
70e95f0b69
sctp: avoid integer overflow when starting the HB timer
...
MFC after: 3 days
Reported by: syzbot+14b9d7c3c64208fae62f@syzkaller.appspotmail.com
2021-02-27 23:27:30 +01:00
Michael Tuexen
bdd4630c9a
sctp: small cleanup, no functional change intended.
...
MFC after: 3 days
2021-02-01 14:04:57 +01:00
Michael Tuexen
7a051c0a78
sctp: improve consistency
...
No functional change intended.
MFC: 1 week
2021-01-24 00:07:41 +01:00
Michael Tuexen
6176f9d6df
Remove dead stores reported by clang static code analysis
...
MFC after: 3 days
2020-10-06 11:08:52 +00:00
Mateusz Guzik
662c13053f
net: clean up empty lines in .c and .h files
2020-09-01 21:19:14 +00:00
Michael Tuexen
f5d30f7f76
Improve the handling of concurrent send() calls for SCTP sockets,
...
especially when having the explicit EOR mode enabled.
Reported by: Megan2013678@protonmail.com
Reported by: syzbot+bc02585076c3cc977f9b@syzkaller.appspotmail.com
MFC after: 3 days
2020-08-16 11:50:37 +00:00
Michael Tuexen
04996cb74b
Enter epoch earlier. This is needed because we are exiting it also
...
in error cases.
MFC after: 1 week
2020-08-15 11:22:07 +00:00
Michael Tuexen
8745f898c4
Add reference counts for inp/stcb/net when timers are running.
...
This avoids a use-after-free reported for the userland stack.
Thanks to Taylor Brandstetter for suggesting a patch for
the userland stack.
MFC after: 1 week
2020-07-19 12:34:19 +00:00
Michael Tuexen
7f0ad2274b
Improve the locking of address lists by adding some asserts and
...
rearranging the addition of address such that the lock is not
given up during checking and adding.
MFC after: 1 week
2020-07-17 15:09:49 +00:00
Michael Tuexen
7a3f60e7f5
Fix a bug introduced in https://svnweb.freebsd.org/changeset/base/362173
...
Reported by: syzbot+f3a6fccfa6ae9d3ded29@syzkaller.appspotmail.com
MFC after: 1 week
2020-06-30 21:50:05 +00:00
Michael Tuexen
171edd2110
Fix the build for an INET6 only configuration.
...
The fix from the last commit is actually needed twice...
MFC after: 1 week
2020-06-21 09:56:09 +00:00
Michael Tuexen
5087b6e732
Set a variable also in the case of an INET6 only kernel
...
MFC after: 1 week
2020-06-20 23:48:57 +00:00
Michael Tuexen
7621bd5ead
Cleanup the adding and deleting of addresses via sctp_bindx().
...
There is no need to use the association identifier, so remove it.
While there, cleanup the code a bit.
MFC after: 1 week
2020-06-20 20:20:16 +00:00
Michael Tuexen
7a9dbc33f9
Remove last argument of sctp_addr_mgmt_ep_sa(), since it is not used.
...
MFC after: 1 week
2020-06-19 12:35:29 +00:00
Michael Tuexen
2d87bacde4
Allow the self reference to be NULL in case the timer was stopped.
...
Submitted by: Timo Voelker
MFC after: 1 week
2020-06-17 15:27:45 +00:00
Michael Tuexen
4471043177
Cleanups, no functional change.
...
MFC after: 1 week
2020-06-14 09:50:00 +00:00
Michael Tuexen
28397ac1ed
Non-functional changes due to upstream cleanup.
...
MFC after: 1 week
2020-06-11 13:34:09 +00:00
Michael Tuexen
5fb132abbb
Whitespace cleanups and removal of a stale comment.
...
MFC after: 1 week
2020-06-08 20:23:20 +00:00
Michael Tuexen
70486b27ae
Retire SCTP_SO_LOCK_TESTING.
...
This was intended to test the locking used in the MacOS X kernel on a
FreeBSD system, to make use of WITNESS and other debugging infrastructure.
This hasn't been used for ages, to take it out to reduce the #ifdef
complexity.
MFC after: 1 week
2020-06-07 14:39:20 +00:00
Michael Tuexen
04ce5df9c9
Remove redundant assignment.
...
MFC after: 3 days
2020-05-18 19:23:01 +00:00
Michael Tuexen
88116b7e4d
Fix logical condition by looking at usecs.
...
This issue was found by cpp-check running on the userland stack.
MFC after: 3 days
2020-05-18 15:02:15 +00:00
Michael Tuexen
00023d8a87
Whitespace change.
...
MFC after: 3 days
2020-05-18 15:00:18 +00:00
Michael Tuexen
83ed508055
Ensure that the SCTP iterator runs with an stcb and inp, which belong to
...
each other.
Reported by: syzbot+82d39d14f2f765e38db0@syzkaller.appspotmail.com
MFC after: 3 days
2020-05-10 22:54:30 +00:00
Michael Tuexen
efd5e69291
Ensure that we have a path when starting the T3 RXT timer.
...
Reported by: syzbot+f2321629047f89486fa3@syzkaller.appspotmail.com
MFC after: 3 days
2020-05-10 17:19:19 +00:00
Michael Tuexen
f4cb790a35
Do more argument validation under INVARIANTS when starting/stopping
...
an SCTP timer.
MFC after: 1 week
2020-04-06 13:58:13 +00:00
Michael Tuexen
25ec355353
Handle integer overflows correctly when converting msecs and secs to
...
ticks and vice versa.
These issues were caught by recently added panic() calls on INVARIANTS
systems.
Reported by: syzbot+b44787b4be7096cd1590@syzkaller.appspotmail.com
Reported by: syzbot+35f82d22805c1e899685@syzkaller.appspotmail.com
MFC after: 1 week
2020-03-28 20:25:45 +00:00
Michael Tuexen
7c63520c42
Remove an optimization, which was incorrect a couple of times and
...
therefore doesn't seem worth to be there.
In this case COOKIE where not retransmitted anymore, when the
socket was already closed.
MFC after: 1 week
2020-03-25 18:20:37 +00:00
Michael Tuexen
37686ccf08
Improve consistency in debug output.
...
MFC after: 1 week
2020-03-25 18:14:12 +00:00
Michael Tuexen
23e3c0880d
Use consistent debug output.
...
MFC after: 1 week
2020-03-25 13:19:41 +00:00
Michael Tuexen
e056fafd92
Don't restore the vnet too early in error cases.
...
MFC after: 1 week
2020-03-25 13:18:37 +00:00
Michael Tuexen
7522682e5e
Only call panic when building with INVARIANTS.
...
MFC after: 1 week
2020-03-24 23:04:07 +00:00
Michael Tuexen
a412576e36
Another cleanup of the timer code. Also be more pedantic about the
...
parameters of the timer start and stop routines. Several inconsistencies
have been fixed in earlier commits. Now they will be catched when running
an INVARIANTS system.
MFC after: 1 week
2020-03-24 22:44:36 +00:00
Michael Tuexen
a57fb68b92
More timer cleanups, no functional change.
...
MFC after: 1 week
2020-03-21 16:12:19 +00:00
Michael Tuexen
6fb7b4fbdb
Consistently provide arguments for timer start and stop routines.
...
This is another step in cleaning up timer handling.
MFC after: 1 week
2020-03-19 21:01:16 +00:00
Michael Tuexen
e95b3d7faf
Cleanup the stream reset and asconf timer.
...
MFC after: 1 week
2020-03-19 18:55:54 +00:00
Michael Tuexen
42078d5ada
The MTU candidates MUST be a multiple of 4, so make them so.
...
MFC after: 1 week
2020-03-19 14:37:28 +00:00
Michael Tuexen
0554e01d8b
Handle the timers in a consistent sequence according to the definition
...
of the timer type.
Just a cleanup, no functional change intended.
MFC after: 1 week
2020-03-17 19:20:12 +00:00
Michael Tuexen
868b51f234
Epochify SCTP.
2020-02-18 21:25:17 +00:00
Michael Tuexen
8803350d6d
Revert https://svnweb.freebsd.org/changeset/base/357761
...
This was suggested by cem@
2020-02-11 20:02:20 +00:00
Michael Tuexen
9803f01cdb
Don't start an SCTP timer using a net, which has been removed.
...
Submitted by: Taylor Brandstetter
MFC after: 1 week
2020-02-11 18:15:57 +00:00
Michael Tuexen
95d27478d2
Use an int instead of a bool variable, since bool is not supported
...
on all platforms the stack is running on in userland.
2020-02-11 14:00:27 +00:00
Michael Tuexen
5555400aa5
Cleanup timer handling.
...
Submitted by: Taylor Brandstetter
MFC after: 1 week
2020-02-09 22:05:41 +00:00