Home | History | Annotate | Download | only in netinet
History log of /src/sys/netinet/sctp_indata.c
RevisionDateAuthorComments
 1.18  17-Apr-2025  andvar s/valdid/valid/ and s/valdiation/validation/ in comments.
 1.17  04-Dec-2024  andvar s/transmite/transmitte/ in comments.
 1.16  05-Jul-2024  rin sys: Drop redundant NULL check before m_freem(9)

m_freem(9) safely has accepted NULL argument at least since 4.2BSD:
https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c

Compile-tested on amd64/ALL.

Suggested by knakahara@
 1.15  09-Feb-2024  andvar branches: 1.15.2;
s/anthing/anything/ and s/be to/too/ in comments.
 1.14  15-Jan-2024  andvar Fix few typos in comments, mainly s/argment/argument/.
 1.13  05-Apr-2023  andvar remove some double ee typos in comments.
 1.12  28-May-2022  andvar fix various typos in comments.
 1.11  24-May-2022  andvar fix various typos in comment, documentation and log messages.
 1.10  08-Apr-2022  andvar s/postion/position/
 1.9  07-Apr-2022  andvar fix various typos in comments.
 1.8  22-Dec-2018  maxv Replace: M_MOVE_PKTHDR -> m_move_pkthdr. No functional change, since the
former is a macro to the latter.
 1.7  03-Sep-2018  riastradh Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.6  01-May-2018  maxv branches: 1.6.2;
Remove now unused net_osdep.h includes, the other BSDs did the same.
 1.5  10-Dec-2017  rjs branches: 1.5.2;
Improve compliance to RFC 6458.
 1.4  25-Apr-2016  rjs branches: 1.4.16;
Fix build when IPSEC enabled.
 1.3  15-Feb-2016  rtr Fix building of IPv4-Mapped IPv6 addresses.

As discussed on tech-net@ use in6_sin_2_v4mapsin6() to build mapped
addresses.
 1.2  13-Dec-2015  christos branches: 1.2.2;
PR/50528: David Binderman: remove sizeof(sizeof(x))
 1.1  13-Oct-2015  rjs Add core networking support for SCTP.
 1.2.2.4  29-May-2016  skrll Sync with HEAD
 1.2.2.3  19-Mar-2016  skrll Sync with HEAD
 1.2.2.2  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.2.2.1  13-Dec-2015  skrll file sctp_indata.c was added on branch nick-nhusb on 2015-12-27 12:10:07 +0000
 1.4.16.2  03-Dec-2017  jdolecek update from HEAD
 1.4.16.1  25-Apr-2016  jdolecek file sctp_indata.c was added on branch tls-maxphys on 2017-12-03 11:39:04 +0000
 1.5.2.3  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.5.2.2  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.5.2.1  02-May-2018  pgoyette Synch with HEAD
 1.6.2.1  10-Jun-2019  christos Sync with HEAD
 1.15.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed