History log of /freebsd/sys/netinet/sctp_pcb.h (Results 1 – 25 of 227)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


12345678910