freebsd-dev/sys
Alexander V. Chernikov 054948bd81 [multipath][nhops] Fix random crashes with high route churn rate.
When certain multipath route begins flapping really fast, it may
 result in creating multiple identical nexthop groups. The code
 responsible for unlinking unused nexthop groups had an implicit
 assumption that there could be only one nexthop group for the
 same combination of nexthops with weights. This assumption resulted
 in always unlinking the first "identical" group, instead of the
 desired one. Such action, in turn, produced a used-but-unlinked
 nhg along with freed-and-linked nhg, ending up in random crashes.

Similarly, it is possible that multiple identical nexthops gets
 created in the case of high route churn, resulting in the same
 problem when deleting one of such nexthops.

Fix by matching the nexthop/nexhop group pointer when deleting the item.

Reported by:	avg
MFC after:	1 week
2021-08-01 10:07:37 +00:00
..
amd64 Add pmap_vm_page_alloc_check() 2021-07-31 16:53:42 +03:00
arm Add pmap_vm_page_alloc_check() 2021-07-31 16:53:42 +03:00
arm64 Add pmap_vm_page_alloc_check() 2021-07-31 16:53:42 +03:00
bsm
cam cam: enable kern.cam.da.enable_uma_ccbs by default 2021-08-01 09:40:42 +00:00
cddl
compat LinuxKPI: fix bug in le32p_replace_bits() 2021-07-31 22:15:35 +00:00
conf amd64: do not assume that kernel is loaded at 2M physical 2021-07-31 16:53:42 +03:00
contrib acpica: Import ACPICA 20210730 2021-07-31 00:16:27 -04:00
crypto crypto: Constify all transform descriptors 2021-07-26 16:41:05 -04:00
ddb fix style nit: space after if 2021-05-05 15:26:09 -06:00
dev igb: clean up igb_txrx comments 2021-07-31 08:04:25 -07:00
dts arm64: allwinner: dtbo: Add dtb overlays to disable mmc node 2021-07-24 22:53:33 +02:00
fs nfscl: Cache an open stateid for the "oneopenown" mount option 2021-07-28 15:48:27 -07:00
gdb
geom geom_vfs: Pre-allocate event for g_vfs_destroy. 2021-07-29 17:09:23 -07:00
gnu
i386 Add pmap_vm_page_alloc_check() 2021-07-31 16:53:42 +03:00
isa newbus: Move from bus_child_{pnpinfo,location}_src to bus_child_{pnpinfo,location} with sbuf 2021-06-22 20:52:06 -06:00
kern Add interceptors for atomic operations on userspace memory 2021-07-29 21:14:36 -04:00
kgssapi
libkern Switch to an ifunc in the kernel for crc32c 2021-07-22 20:54:21 +00:00
mips Add pmap_vm_page_alloc_check() 2021-07-31 16:53:42 +03:00
modules LinuxKPI: Make FPU sections thread-safe and use the NOCTX flag. 2021-07-31 15:36:48 +02:00
net [multipath][nhops] Fix random crashes with high route churn rate. 2021-08-01 10:07:37 +00:00
net80211 net80211: ieee80211_probereq_ie fix length calculation for hw scans 2021-06-28 12:17:11 +00:00
netgraph socket: Implement SO_RERROR 2021-07-28 09:35:09 -07:00
netinet socket: Implement SO_RERROR 2021-07-28 09:35:09 -07:00
netinet6 socket: Implement SO_RERROR 2021-07-28 09:35:09 -07:00
netipsec socket: Implement SO_RERROR 2021-07-28 09:35:09 -07:00
netpfil pf: remove DIOCGETSTATESNV 2021-07-30 11:45:28 +02:00
netsmb netsmb: Avoid a read-after-free in smb_t2_request_int() 2021-05-26 10:45:40 -04:00
nfs
nfsclient
nfsserver
nlm
ofed ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
opencrypto crypto: Constify all transform descriptors 2021-07-26 16:41:05 -04:00
powerpc Add pmap_vm_page_alloc_check() 2021-07-31 16:53:42 +03:00
riscv Add pmap_vm_page_alloc_check() 2021-07-31 16:53:42 +03:00
rpc Consistently use the SOLISTENING() macro 2021-06-14 17:32:27 -04:00
security Fix mac_veriexec version mismatch 2021-07-29 11:05:13 +02:00
sys Bump the FreeBSD version after making FPU sections thread-safe in the LinuxKPI. 2021-07-31 15:40:57 +02:00
teken
tests tests: Revise FIB lookups per second benchmarking routines 2021-06-17 08:49:09 +02:00
tools booti: Enable loading the kernel image to any address aligned to 2 MB 2021-07-28 13:42:13 +02:00
ufs Clean up orphaned indirdep dependency structures after disk failure. 2021-07-29 16:31:16 -07:00
vm Add pmap_vm_page_alloc_check() 2021-07-31 16:53:42 +03:00
x86 bus: Convert to the new interceptor scheme 2021-07-30 15:15:27 -04:00
xdr
xen xen: introduce xen_pv_disks_disabled() 2021-07-28 17:27:04 +02:00
Makefile