freebsd-skq/sys
Hans Petter Selasky 40eb389666 Fix panic in network stack due to memory use after free in relation to
fragmented packets.

When sending IPv4 and IPv6 fragmented packets and a fragment is lost,
the mbuf making up the fragment will remain in the temporary hashed
fragment list for a while. If the network interface departs before the
so-called slow timeout clears the packet, the fragment causes a panic
when the timeout kicks in due to accessing a freed network interface
structure.

Make sure that when a network device is departing, all hashed IPv4 and
IPv6 fragments belonging to it, get freed.

Backtrace:
panic()
icmp6_reflect()

hlim = ND_IFINFO(m->m_pkthdr.rcvif)->chlim;
^^^^ rcvif->if_afdata[AF_INET6] is NULL.

icmp6_error()
frag6_freef()
frag6_slowtimo()
pfslowtimo()
softclock_call_cc()
softclock()
ithread_loop()

Differential Revision:	https://reviews.freebsd.org/D19622
Reviewed by:		bz (network), adrian
MFC after:		1 week
Sponsored by:		Mellanox Technologies
2019-04-22 07:27:24 +00:00
..
amd64 Fix initial x87 state after r345562. 2019-04-16 19:46:02 +00:00
arm Move the reporting of spurious interrupts under bootverbose control, because 2019-04-21 17:39:01 +00:00
arm64 Add SY8106A Buck Regulator and Allwinner CIR devices to GENERIC arm64 kernel. 2019-04-20 03:21:47 +00:00
bsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
cam Report DIF protection type the disk is formatted with. 2019-04-22 01:08:14 +00:00
cddl Change the way FreeBSD GID inheritance is hacked. 2019-04-19 15:44:45 +00:00
compat Enable ioremap for aarch64 in the LinuxKPI 2019-04-20 15:57:05 +00:00
conf Add SY8106A Buck Regulator and Allwinner CIR devices to GENERIC arm64 kernel. 2019-04-20 03:21:47 +00:00
contrib [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +00:00
crypto Embedded chacha: Add 0-bit iv + 128-bit counter mode 2019-03-01 23:30:23 +00:00
ddb ddb: Print the thread's pcb in 'show thread' 2019-02-09 21:08:19 +00:00
dev [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +00:00
dts arm: dts: Remove some old DTS 2019-04-10 19:18:05 +00:00
fs Add #ifdef INET as requested by bz@. 2019-04-21 22:53:51 +00:00
gdb
geom gnop(8): Nopify configuration as a kernel dump device 2019-04-22 03:25:49 +00:00
gnu Import DTS files from Linux 5.0 2019-04-10 18:15:36 +00:00
i386 Fix initial x87 state after r345562. 2019-04-16 19:46:02 +00:00
isa
kern When parsing command line stuff, treat tabs and spaces the same. 2019-04-18 22:52:12 +00:00
kgssapi * Handle SIGPIPE in gssd 2019-02-21 01:30:37 +00:00
libkern Revert r346410 and r346411 2019-04-19 22:08:17 +00:00
mips random(4): Restore availability tradeoff prior to r346250 2019-04-18 20:48:54 +00:00
modules Use symlinks for kernel modules rather than hardlinks 2019-04-20 12:51:05 +00:00
net iflib: Use new ether_gen_addr, restricting addresses to that subset 2019-04-17 17:19:54 +00:00
net80211 net80211: correct check for SMPS node flags updates 2019-03-18 02:40:22 +00:00
netgraph Remove 'dir' argument in ng_ipfw_input, since ip_fw_args now has this info. 2019-03-14 22:30:05 +00:00
netinet Fix panic in network stack due to memory use after free in relation to 2019-04-22 07:27:24 +00:00
netinet6 Fix panic in network stack due to memory use after free in relation to 2019-04-22 07:27:24 +00:00
netipsec Replace read_random(9) with more appropriate arc4rand(9) KPIs 2019-04-04 01:02:50 +00:00
netpfil pf: No need to M_NOWAIT in DIOCRSETTFLAGS 2019-04-18 11:37:44 +00:00
netsmb Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Mechanical cleanup of epoch(9) usage in network stack. 2019-01-09 01:11:19 +00:00
opencrypto Fix another bug introduced during the review process of r344140: 2019-02-25 19:14:16 +00:00
powerpc powerpc64/powernv: Relax flash block write requirements 2019-04-20 02:44:38 +00:00
riscv RISC-V: initialize pcpu slightly earlier 2019-04-07 20:12:24 +00:00
rpc Fix malloc stats for the RPCSEC_GSS server code when DEBUG is enabled. 2019-04-04 01:23:06 +00:00
security Create kernel module to parse Veriexec manifest based on envs 2019-04-03 03:57:37 +00:00
sparc64 Move mpr/mps drivers from per-arch NOTES files into the MI notes 2019-04-13 06:30:45 +00:00
sys Revert r346410 and r346411 2019-04-19 22:08:17 +00:00
teken Attempt to complete fixing programmable function keys for syscons. 2019-02-20 02:14:41 +00:00
tests Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tools make_dtb.sh: Use $CPP instead of assuming that cpp is in $PATH 2018-12-14 23:53:28 +00:00
ufs Handle races when remounting UFS volume from ro to rw. 2019-04-08 15:20:05 +00:00
vm for a cache-only zone the destructor tries to destroy a non-existent keg 2019-04-12 12:46:25 +00:00
x86 remove the 4GB boundary requirement on PCI DMA segments 2019-04-19 13:43:33 +00:00
xdr
xen xen: introduce a new way to setup event channel upcall 2019-01-30 11:34:52 +00:00
Makefile