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
Michael Tuexen
58e6eeef45
Fix build issue for the userland stack.
...
Joint work with rrs@.
MFC after: 1 week
2019-03-24 12:13:05 +00:00
Michael Tuexen
0d3cf13dab
Fix a signed/unsigned bug when receiving SCTP messages.
...
This is joint work with rrs@.
Reported by: syzbot+6b8a4bc8cc828e9d9790@syzkaller.appspotmail.com
MFC after: 1 week
2019-03-24 09:46:16 +00:00
Michael Tuexen
d9707e43df
Fix a locking issue when reporing outbount messages.
...
MFC after: 3 days
2019-02-10 14:02:14 +00:00
Michael Tuexen
0277ec9c43
Whitespace changes and fixing a typo. No functional change.
...
Approved by: re (kib@)
MFC after: 1 week
2018-09-26 10:24:50 +00:00
Michael Tuexen
1e88cc8b59
Add support for send, receive and state-change DTrace providers for
...
SCTP. They are based on what is specified in the Solaris DTrace manual
for Solaris 11.4.
Reviewed by: 0mp, dteske, markj
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D16839
2018-08-22 21:23:32 +00:00
Michael Tuexen
6ef849e601
Whitespace change.
2018-08-21 13:37:06 +00:00
Michael Tuexen
1a0b021677
Refactor the SHUTDOWN_PENDING state handling.
...
This is not a functional change but a preperation for the upcoming
DTrace support. It is necessary to change the state in one
logical operation, even if it involves clearing the sub state
SHUTDOWN_PENDING.
MFC after: 1 month
2018-08-21 13:25:32 +00:00
Michael Tuexen
839d21d62e
Use the stacb instead of the asoc in state macros.
...
This is not a functional change. Just a preparation for upcoming
dtrace state change provider support.
2018-08-13 13:58:45 +00:00
Michael Tuexen
61a2188021
Use consistently the macors to modify the assoc state.
...
No functional change.
2018-08-13 11:56:21 +00:00
Michael Tuexen
0053ed28ff
Whitespace changes due to changes in ident.
2018-07-19 20:16:33 +00:00
Michael Tuexen
b0471b4b95
Revert https://svnweb.freebsd.org/changeset/base/336503
...
since I also ran the export script with different parameters.
2018-07-19 20:11:14 +00:00
Michael Tuexen
7679e49dd4
Whitespace changes due to change if ident.
2018-07-19 19:33:42 +00:00
Michael Tuexen
eef8d4a973
Use correct mask.
...
Introduced in https://svnweb.freebsd.org/changeset/base/333603 .
Thanks to Irene Ruengler for testing and reporting the issue.
MFC after: 1 week
X-MFC-with: 333603
2018-05-28 13:31:47 +00:00
Michael Tuexen
c692df45fc
Only fillin data srucuture when actually stored.
2018-05-21 14:53:22 +00:00
Matt Macy
f6960e207e
netinet silence warnings
2018-05-19 05:56:21 +00:00
Michael Tuexen
589c42c2c8
Ensure that the MTU's used are multiple of 4.
...
The length of SCTP packets is always a multiple of 4. Therefore,
ensure that the MTUs used are also a multiple of 4.
Thanks to Irene Ruengeler for providing an earlier version of this
patch.
MFC after: 1 week
2018-05-14 13:50:17 +00:00
Michael Tuexen
45d41de5e6
Fix two typos reported by N. J. Mann, which were introduced in
...
https://svnweb.freebsd.org/changeset/base/333382 by me.
MFC after: 3 days
2018-05-08 20:39:35 +00:00
Michael Tuexen
9669e724d1
When reporting ERROR or ABORT chunks, don't use more data
...
that is guaranteed to be contigous.
Thanks to Felix Weinrank for finding and reporting this bug
by fuzzing the usrsctp stack.
MFC after: 3 days
2018-05-08 18:48:51 +00:00
Michael Tuexen
46bf534caf
Don't provide a (meaningless) cmsg when proving a notification
...
in a recvmsg() call.
MFC after: 1 week
2018-01-15 21:59:20 +00:00
Michael Tuexen
ad15e1548f
Unbreak compilation when using SCTP_DETAILED_STR_STATS option.
...
MFC after: 1 week
2017-11-24 12:18:48 +00:00