freebsd-dev/sys
Bjoern A. Zeeb a4adf6cc65 Fix m_pullup() problem after removing PULLDOWN_TESTs and KAME EXT_*macros.
r354748-354750 replaced the KAME macros with m_pulldown() calls.
Contrary to the rest of the network stack m_len checks before m_pulldown()
were not put in placed (see r354748).
Put these m_len checks in place for now (to go along with the style of the
network stack since the initial commits).  These are not put in for
performance but to avoid an error scenario (even though it also will help
performance at the moment as it avoid allocating an extra mbuf; not because
of the unconditional function call).

The observed error case went like this:
(1) an mbuf with M_EXT arrives and we call m_pullup() unconditionally on it.
(2) m_pullup() will call m_get() unless the requested length is larger than
MHLEN (in which case it'll m_freem() the perfectly fine mbuf) and migrate the
requested length of data and pkthdr into the new mbuf.
(3) If m_get() succeeds, a further m_pullup() call going over MHLEN will fail.
This was observed with failing auto-configuration as an RA packet of
200 bytes exceeded MHLEN and the m_pullup() called from nd6_ra_input()
dropped the mbuf.
(Re-)adding the m_len checks before m_pullup() calls avoids this problems
with mbufs using external storage for now.

MFC after:	3 weeks
Sponsored by:	Netflix
2019-12-01 00:22:04 +00:00
..
amd64 Remove the trm(4) driver 2019-11-28 02:32:17 +00:00
arm Implement the ofw_bus_get_node method in the imx_gpio driver so that 2019-11-28 21:50:34 +00:00
arm64 Use the VM_MEMATTR macros to describe the MAIR offsets. 2019-11-29 16:14:32 +00:00
bsm Jail and capability mode for shm_rename; add audit support for shm_rename 2019-11-18 13:31:16 +00:00
cam Do not retry long ready waits if previous gave nothing. 2019-11-22 21:31:59 +00:00
cddl Add a VN_OPEN_INVFS flag. 2019-11-29 14:02:32 +00:00
compat Linux epoll: Allow passing of any negative timeout value to epoll_wait 2019-11-24 20:51:09 +00:00
conf kern.mk: -Wno-error=stringop-overflow for gcc due to false positives 2019-11-29 06:25:07 +00:00
contrib Include fin, the packet information structure (fr_info_t), in the 2019-11-28 00:46:33 +00:00
crypto Fix the armv8 crypto driver after r354170. 2019-10-30 10:41:10 +00:00
ddb ddb(4): Add some support for lexing IPv6 addresses 2019-09-09 16:32:23 +00:00
dev Add an OFWBUS_PNP_INFO() macro for devices that hang directly off the root 2019-11-30 19:16:44 +00:00
dts dtso: allwinner: Add an overlay for H3 thermal node 2019-08-24 13:26:34 +00:00
fs tty: implement TIOCNOTTY 2019-11-30 20:10:50 +00:00
gdb gdb(4): Implement support for NoAckMode 2019-10-17 22:37:25 +00:00
geom We don't even need Giant here. It isn't protecting anything internal 2019-11-23 23:44:00 +00:00
gnu Import DTS files from Linux 5.4 2019-11-28 19:30:41 +00:00
i386 Remove the trm(4) driver 2019-11-28 02:32:17 +00:00
isa
kern tty: implement TIOCNOTTY 2019-11-30 20:10:50 +00:00
kgssapi Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
libkern Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
mips Remove two obsolete comments that reference splhigh/splx. 2019-11-21 18:49:54 +00:00
modules Remove the trm(4) driver 2019-11-28 02:32:17 +00:00
net Allow kernel to compile without BPF. 2019-11-24 23:21:47 +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 Fix regression from r353026. Pointer was increased instead of value 2019-11-02 03:09:17 +00:00
netinet Fix m_pullup() problem after removing PULLDOWN_TESTs and KAME EXT_*macros. 2019-12-01 00:22:04 +00:00
netinet6 Fix m_pullup() problem after removing PULLDOWN_TESTs and KAME EXT_*macros. 2019-12-01 00:22:04 +00:00
netipsec Fix m_pullup() problem after removing PULLDOWN_TESTs and KAME EXT_*macros. 2019-12-01 00:22:04 +00:00
netpfil pf: Add endline to all DPFPRINTF() 2019-11-24 13:53:36 +00:00
netsmb Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Prevent potential underflow in ibcore. 2019-11-15 11:46:53 +00:00
opencrypto kTLS support for TLS 1.3 2019-09-27 19:17:40 +00:00
powerpc [PPC] Remove extra \0 char inserted on vty by QEMU 2019-11-29 11:34:11 +00:00
riscv RISC-V: busdma_bounce: fix BUS_DMA_ALLOCNOW for non-paged aligned sizes 2019-11-16 01:25:51 +00:00
rpc Change r355157 to make svc_rpc_gss_lifetime_max a static. 2019-11-28 02:18:51 +00:00
security Instead of looking up a predecessor or successor to the current map 2019-11-20 16:06:48 +00:00
sparc64 Set MALLOC_DEBUG_MAXZONES=1 in GENERIC-NODEBUG configurations. 2019-11-18 20:03:28 +00:00
sys Add a way to inject fences using IPIs 2019-11-30 17:22:10 +00:00
teken Adjust teken to allow build as part of loader 2019-09-05 18:07:40 +00:00
tests
tools Add makesyscalls.lua, a rewrite of makesyscalls.sh 2019-11-17 14:08:19 +00:00
ufs As part of creating a snapshot, set fs->fs_fmod to 0 in the snapshot image 2019-11-28 00:37:43 +00:00
vm Restore swap space accounting for non-anonymous swap objects. This was 2019-11-29 19:57:49 +00:00
x86 bus_dma_dmar_load_ident(9): load identity mapping into the map. 2019-11-27 19:57:17 +00:00
xdr
xen
Makefile