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
Michael Tuexen
f799ff82fb
Remove unused timer.
...
Submitted by: Taylor Brandstetter
2020-02-04 14:01:07 +00:00
Michael Tuexen
397b1c945f
Ensure that we don't miss a trigger for kicking off the SCTP iterator.
...
Reported by: nwhitehorn@
MFC after: 1 week
2020-01-05 13:56:32 +00:00
Michael Tuexen
776cd558f0
Separate out SCTP related dtrace code.
...
This is based on work done by markj@.
Discussed with: markj@
MFC after: 3 days
2019-10-14 20:32:11 +00:00
Michael Tuexen
44f2a3272e
Cleanup the RTO calculation and perform some consistency checks
...
before computing the RTO.
This should fix an overflow issue reported by Felix Weinrank in
https://github.com/sctplab/usrsctp/issues/375
for the userland stack and found by running a fuzz tester.
MFC after: 3 days
2019-09-22 10:40:15 +00:00
Michael Tuexen
43ecbff2dc
Fix build issues for the userland stack on Raspbian.
2019-08-06 08:33:21 +00:00
Michael Tuexen
8a3cfbff92
Don't free read control entries, which are still on the stream queue when
...
adding them the the read queue fails
MFC after: 1 week
2019-07-15 20:45:01 +00:00
Michael Tuexen
fc26bf717c
Improve input validation for the IPPROTO_SCTP level socket options
...
SCTP_CONNECT_X and SCTP_CONNECT_X_DELAYED.
Some issues where found by running syzkaller.
MFC after: 3 days
2019-05-19 17:28:00 +00:00
Michael Tuexen
6982c0fac1
Fix an SCTP related locking issue. Don't report that the TCB_SEND_LOCK
...
is owned, when it is not.
This issue was found by running syzkaller.
MFC after: 1 week
2019-04-11 20:39:12 +00:00