#
523913c9 |
| 03-Nov-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: improve handling of address changes
Identify interfaces consistenly by the pair of the ifn pointer and the index. This avoids a use after free when the ifn and or index was reused.
Reported b
sctp: improve handling of address changes
Identify interfaces consistenly by the pair of the ifn pointer and the index. This avoids a use after free when the ifn and or index was reused.
Reported by: bz, pho, and others MFC after: 3 days
show more ...
|
#
470a63cd |
| 02-Nov-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: garbage collect two unused functions
MFC after: 3 days
|
#
bf11fdaf |
| 02-Nov-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: don't consider the interface name when removing an address
Checking the interface name can not be done consistently, so don't do it.
MFC after: 3 days
|
#
ce5b5361 |
| 24-Oct-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp garbage collect sctp_update_ifn_mtu
MFC after: 3 days
|
#
e1a09d1e |
| 10-Oct-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: make sctp_free_ifn() static
It is not used outside of the file. No functional change intended.
MFC after: 3 days
|
Revision tags: release/13.4.0, release/14.1.0 |
|
#
42aeb8d4 |
| 10-May-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: store vtag expire time as time_t Reported by: Coverity Scan CID: 1492525 CID: 1493239 MFC after: 3 days
|
#
9d8a3718 |
| 10-May-2024 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: store cookie secret change time as time_t Reported by: Coverity Scan CID: 1492349 CID: 1493281 MFC after: 3 days
|
Revision tags: release/13.3.0, release/14.0.0 |
|
#
c3179e66 |
| 18-Aug-2023 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: cleanup cdefs.h include
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
52640d61 |
| 23-Jul-2023 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: update zero checksum support
Implement support for the error detection method identifier. MFC after: 2 weeks
|
Revision tags: release/13.2.0 |
|
#
4a2b92d9 |
| 10-Mar-2023 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: initial implementation of draft-tuexen-tsvwg-sctp-zero-checksum
|
Revision tags: release/12.4.0 |
|
#
81a34d37 |
| 17-Aug-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
protosw: retire pr_drain and use EVENTHANDLER(9) directly
The method was called for two different conditions: 1) the VM layer is low on pages or 2) one of UMA zones of mbuf allocator exhausted. This
protosw: retire pr_drain and use EVENTHANDLER(9) directly
The method was called for two different conditions: 1) the VM layer is low on pages or 2) one of UMA zones of mbuf allocator exhausted. This change 2) into a new event handler, but all affected network subsystems modified to subscribe to both, so this change shall not bring functional changes under different low memory situations.
There were three subsystems still using pr_drain: TCP, SCTP and frag6. The latter had its protosw entry for the only reason to register its pr_drain method.
Reviewed by: tuexen, melifaro Differential revision: https://reviews.freebsd.org/D36164
show more ...
|
#
a5c2009d |
| 04-Jun-2022 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: improve handling of sctp inpcb flags
Use an atomic operation when the inp is not write locked.
Reported by: syzbot+bf27083e9a3f8fde8b4d@syzkaller.appspotmail.com MFC after: 3 days
|
Revision tags: release/13.1.0 |
|
#
d7224a53 |
| 07-Apr-2022 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: remove a mutex not used anymore
MFC after: 3 days
|
Revision tags: release/12.3.0 |
|
#
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 ...
|
#
58a7bf12 |
| 09-Sep-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: cleanup timewait handling for vtags
MFC after: 1 week
|
#
e8e23ec1 |
| 07-Sep-2021 |
Mark Johnston <markj@FreeBSD.org> |
sctp: Remove an unused sctp_inpcb field
This appears to be unused in usrsctp as well. No functional change intended.
Reviewed by: tuexen MFC after: 1 week Sponsored by: The FreeBSD Foundation Diff
sctp: Remove an unused sctp_inpcb field
This appears to be unused in usrsctp as well. No functional change intended.
Reviewed by: tuexen MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31812
show more ...
|
#
457abbb8 |
| 01-Sep-2021 |
Mark Johnston <markj@FreeBSD.org> |
sctp: Implement sctp_inpcb_bind_locked()
This will be used by sctp_listen() to avoid dropping locks when performing an implicit bind. No functional change intended.
Reviewed by: tuexen MFC after:
sctp: Implement sctp_inpcb_bind_locked()
This will be used by sctp_listen() to avoid dropping locks when performing an implicit bind. No functional change intended.
Reviewed by: tuexen MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31757
show more ...
|
#
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, release/12.2.0 |
|
#
662c1305 |
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
net: clean up empty lines in .c and .h files
|
#
2f9e6db0 |
| 12-Jun-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
More cleanups due to ifdef cleanup done upstream
MFC after: 1 week
|
Revision tags: release/11.4.0 |
|
#
d5d190f2 |
| 27-Mar-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Some more uint32_t cleanups, no functional change.
MFC after: 1 week
|
#
239e5865 |
| 27-Mar-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Use uint32_t where it is expected to be used. No functional change.
MFC after: 1 week
|
Revision tags: release/12.1.0 |
|
#
9f36ec8b |
| 24-Oct-2019 |
Michael Tuexen <tuexen@FreeBSD.org> |
Store a handle for the event handler. This will be used when unloading the SCTP as a module.
Obtained from: markj@
|
#
0ecd976e |
| 02-Aug-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
IPv6 cleanup: kernel
Finish what was started a few years ago and harmonize IPv6 and IPv4 kernel names. We are down to very few places now that it is feasible to do the change for everything remaini
IPv6 cleanup: kernel
Finish what was started a few years ago and harmonize IPv6 and IPv4 kernel names. We are down to very few places now that it is feasible to do the change for everything remaining with causing too much disturbance.
Remove "aliases" for IPv6 names which confusingly could indicate that we are talking about a different data structure or field or have two fields, one for each address family. Try to follow common conventions used in FreeBSD.
* Rename sin6p to sin6 as that is how it is spelt in most places. * Remove "aliases" (#defines) for: - in6pcb which really is an inpcb and nothing separate - sotoin6pcb which is sotoinpcb (as per above) - in6p_sp which is inp_sp - in6p_flowinfo which is inp_flow * Try to use ia6 for in6_addr rather than in6p. * With all these gone also rename the in6p variables to inp as that is what we call it in most of the network stack including parts of netinet6.
The reasons behind this cleanup are that we try to further unify netinet and netinet6 code where possible and that people will less ignore one or the other protocol family when doing code changes as they may not have spotted places due to different names for the same thing.
No functional changes.
Discussed with: tuexen (SCTP changes) MFC after: 3 months Sponsored by: Netflix
show more ...
|