freebsd-dev/sys
Bjoern A. Zeeb 619456bb59 frag6: prevent overwriting initial fragoff=0 packet meta-data.
When we receive the packet with the first fragmented part (fragoff=0)
we remember the length of the unfragmentable part and the next header
(and should probably also remember ECN) as meta-data on the reassembly
queue.
Someone replying this packet so far could change these 2 (3) values.
While changing the next header seems more severe, for a full size
fragmented UDP packet, for example, adding an extension header to the
unfragmentable part would go unnoticed (as the framented part would be
considered an exact duplicate) but make reassembly fail.
So do not allow updating the meta-data after we have seen the first
fragmented part anymore.

The frag6_20 test case is added which failed before triggering an
ICMPv6 "param prob" due to the check for each queued fragment for
a max-size violation if a fragoff=0 packet was received.

MFC after:	3 weeks
Sponsored by:	Netflix
2019-10-24 22:07:45 +00:00
..
amd64 amd64 pmap: per-domain pv chunk list 2019-10-23 19:17:10 +00:00
arm axp81x: Use the default regnode_init method 2019-10-23 09:54:50 +00:00
arm64 arm64: enable options NUMA in GENERIC 2019-10-23 19:35:26 +00:00
bsm
cam
cddl Assert that vnode_pager_setsize() is called with the vnode exclusively locked 2019-10-22 16:21:24 +00:00
compat Add missing M_NOWAIT flag 2019-10-23 17:20:20 +00:00
conf Add driver for DesignWare PCIE core, and its Armada 8K specific attachement. 2019-10-20 11:11:32 +00:00
contrib Merge ACPICA 20191018. 2019-10-19 14:56:44 +00:00
crypto
ddb
dev Set OBJ_NOSPLIT on the ksyms(4) VM object. 2019-10-23 16:53:37 +00:00
dts
fs pseudofs: hashed vncache 2019-10-22 22:52:53 +00:00
gdb gdb(4): Implement support for NoAckMode 2019-10-17 22:37:25 +00:00
geom Make all the gnop parameters optional in the request from userland, 2019-10-16 21:49:44 +00:00
gnu arm: dts: ti: Fix mmc3 instance by setting it to disabled 2019-10-07 08:11:49 +00:00
i386 linux: futex_mtx should follow futex_list 2019-10-18 12:25:33 +00:00
isa
kern Use THREAD_CAN_SLEEP() macro to check if thread can sleep. There is no 2019-10-24 21:55:19 +00:00
kgssapi
libkern
mips Remove page locking from pmap_mincore(). 2019-10-16 22:03:27 +00:00
modules if_tuntap: remove if_{tun,tap}.ko -> if_tuntap.ko links 2019-10-21 20:28:38 +00:00
net iflib: call ether_ifdetach and netmap_detach before stop 2019-10-23 23:20:49 +00:00
net80211 Don't use if_maddr_rlock() in 802.11, use epoch(9) directly instead. 2019-10-10 23:55:33 +00:00
netgraph Don't use if_maddr_rlock() in ng_eiface(4), use epoch(9) directly instead. 2019-10-10 23:49:19 +00:00
netinet Ensure that the flags indicating IPv4/IPv6 are not changed by failing 2019-10-24 20:05:10 +00:00
netinet6 frag6: prevent overwriting initial fragoff=0 packet meta-data. 2019-10-24 22:07:45 +00:00
netipsec Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
netpfil pf: Must be in NET_EPOCH to call icmp_error 2019-10-18 03:36:26 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed VLAN_TRUNKDEV() requires epochification in ibcore after r353292. 2019-10-16 08:56:07 +00:00
opencrypto
powerpc powerpc/booke: Simplify the MPC85XX PCIe root complex driver 2019-10-24 03:51:33 +00:00
riscv Fix atomic_*cmpset32 on riscv64 with clang. 2019-10-23 16:41:31 +00:00
rpc
security Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
sparc64 Split out a more generic debugnet(4) from netdump(4) 2019-10-17 16:23:03 +00:00
sys Assert that vnode_pager_setsize() is called with the vnode exclusively locked 2019-10-22 16:21:24 +00:00
teken
tests
tools
ufs After the unlink() of one name of a file with multiple links, a 2019-10-24 21:28:37 +00:00
vm Add a tunable to set the pgcache zone's maxcache 2019-10-24 18:39:05 +00:00
x86 hw.intrbalance: Make sysctl tunable 2019-10-19 16:37:49 +00:00
xdr
xen
Makefile