Home | History | Annotate | Download | only in kern
History log of /src/sys/kern/uipc_mbufdebug.c
RevisionDateAuthorComments
 1.9  16-Feb-2025  jakllsch m_examine(): decode VLAN tags
 1.8  06-Dec-2024  riastradh sys/kern/sys_socket.c, uipc_*.c: Sort includes.

No functional change intended.
 1.7  18-Oct-2018  msaitoh branches: 1.7.4; 1.7.38;
KNF. No functional change.
 1.6  12-Oct-2018  msaitoh - Print TCP options. Some of them are not decoded yet (e.g. SACK).
- Print IP checksum and TCP checksum.
- When a packet length is shorter than a required size of the protocol, print
both sizes.
- Make m_examine_xxx() functions global.
- Use bool instead of boolean_t.
- s/TRUE/true/, s/FALSE/false/
- KNF
 1.5  11-Oct-2018  msaitoh Fix m_examine_ip6() to print IPv6 payload length (ip6_plen) correctly.
 1.4  10-Oct-2018  msaitoh Fix m_examine_tcp() to print TCP header length (th_off) correctly.
 1.3  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.2  18-Jul-2018  msaitoh branches: 1.2.2;
- Fix compile error for kernel configuration file which has no any Ethernet
device driver.
- Add missing default label.
- Fix NetBSD RCS Id.
 1.1  17-Jul-2018  msaitoh Add /d(dump) and /v(verbose) modifiers to DDB's "show mbuf" command. Mainly
written by Hiroki SUENAGA. Currently, /v supports Ethernet, PPP, PPPoE, ARP,
IPv4, ICMP, IPv6, ICMPv6, TCP and UDP.
 1.2.2.4  20-Oct-2018  pgoyette Sync with head
 1.2.2.3  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.2.2.2  28-Jul-2018  pgoyette Sync with HEAD
 1.2.2.1  18-Jul-2018  pgoyette file uipc_mbufdebug.c was added on branch pgoyette-compat on 2018-07-28 04:38:08 +0000
 1.7.38.1  02-Aug-2025  perseant Sync with HEAD
 1.7.4.2  10-Jun-2019  christos Sync with HEAD
 1.7.4.1  18-Oct-2018  christos file uipc_mbufdebug.c was added on branch phil-wifi on 2019-06-10 22:09:04 +0000

RSS XML Feed