opnsense-src/sys
Andrey V. Elsukov 304d3f32ba ipfw: fix possible data race between jump cache reading and updating.
Jump cache is used to reduce the cost of rule lookup for O_SKIPTO and
O_CALLRETURN actions. It uses rules chain id to check correctness of
cached value. But due to the possible race, there is the chance that
one thread can read invalid value. In some cases this can lead to out
of bounds access and panic.

Use thread fence operations to constrain the reordering of accesses.
Also rename jump_fast and jump_linear functions to jump_cached and
jump_lookup_pos respectively.

Submitted by:	Arseny Smalyuk
Obtained from:	Yandex LLC
Sponsored by:	Yandex LLC
Differential Revision:	https://reviews.freebsd.org/D31484

(cherry picked from commit 322e5efda8)
2021-08-24 17:56:56 +03:00
..
amd64 amd64 pmap_vm_page_alloc_check(): loose the assert 2021-08-24 02:21:14 +03:00
arm Add pmap_vm_page_alloc_check() 2021-08-24 02:21:13 +03:00
arm64 Add pmap_vm_page_alloc_check() 2021-08-24 02:21:13 +03:00
bsm
cam Fix a few typos in source code comments 2021-08-19 09:29:25 +02:00
cddl fbt: Remove some handling for multiple CTF containers 2021-04-15 21:27:24 -04:00
compat linuxkpi: remove global atomic counter of the task allocations 2021-08-03 12:56:02 +03:00
conf amd64: do not assume that kernel is loaded at 2M physical 2021-08-24 02:21:13 +03:00
contrib ipfilter: remove doubled semicolons 2021-08-18 20:23:50 -04:00
crypto armv8crypto: note derivation in armv8_crypto_wrap.c 2021-03-22 13:14:51 -03:00
ddb ddb: reliably fail with ambiguous commands 2021-07-02 14:13:24 -07:00
dev ntb_hw_intel(4): Add CTLFLAG_MPSAFE flags. 2021-08-23 22:35:30 -04:00
dts arm: allwinner: dtb: Add overlays to disable SD/MMC node 2021-07-22 19:29:21 +02:00
fs nfs_write(): do not call ncl_pager_setsize() after clearing TDP2_SBPAGES 2021-08-16 12:23:12 +03:00
gdb gdb: report specific stop reason for watchpoints 2021-04-21 10:20:33 -03:00
geom eli: Zero pad bytes that arise when certain auth algorithms are used 2021-07-29 08:12:22 -04:00
gnu
i386 Add pmap_vm_page_alloc_check() 2021-08-24 02:21:13 +03:00
isa Remove more remnants of sio(4) 2021-04-14 09:19:49 -04:00
kern uipc: avoid circular pr_{slow,fast}timos 2021-08-23 12:33:32 +00:00
kgssapi
libkern Remove incorrect __restricted labels from strcspn 2021-07-21 10:13:10 -06:00
mips Add pmap_vm_page_alloc_check() 2021-08-24 02:21:13 +03:00
modules MFC 517904de5c: igc(4): Introduce new driver for the Intel I225 Ethernet controller. 2021-08-15 20:33:54 +10:00
net kern: ether_gen_addr: randomize on default hostuuid, too 2021-08-20 14:32:31 -07:00
net80211 net80211/LinuxKPI: add more radiotap definitions 2021-07-18 00:35:03 +00:00
netgraph ng_bridge: Use M_NOWAIT when allocating memory in the newhook routine 2021-08-20 08:42:43 -04:00
netinet ip_reass: do less work in ipreass_slowtimo if possible 2021-08-18 09:44:44 +00:00
netinet6 frag6: do less work in frag6_slowtimo if possible 2021-08-18 09:44:45 +00:00
netipsec netipsec/key.c: Use ANSI C definition for key_random() 2021-08-13 12:34:42 +03:00
netpfil ipfw: fix possible data race between jump cache reading and updating. 2021-08-24 17:56:56 +03:00
netsmb netsmb: Avoid a read-after-free in smb_t2_request_int() 2021-06-02 09:34:47 -04:00
nfs
nfsclient
nfsserver
nlm
ofed Fix mismerge in OFED update 2021-07-26 18:12:35 +02:00
opencrypto cryptodev: Fix some input validation bugs 2021-05-14 09:58:54 -04:00
powerpc Add pmap_vm_page_alloc_check() 2021-08-24 02:21:13 +03:00
riscv Add pmap_vm_page_alloc_check() 2021-08-24 02:21:13 +03:00
rpc rpc: Make function tables const 2021-08-21 12:10:31 -04:00
security mac: cheaper check for ifnet_create_mbuf and ifnet_check_transmit 2021-07-05 11:32:14 +00:00
sys bitstring(3): Add bitstring traversal macros. 2021-08-24 01:23:10 +03:00
teken
tests tests: Revise FIB lookups per second benchmarking routines 2021-06-20 13:27:17 +02:00
tools makesyscalls.lua: improve generated file style(9) compliance 2021-05-19 20:31:54 -04:00
ufs ufs_dirhash: Correct a typo in a comment 2021-08-23 08:32:50 +02:00
vm Add pmap_vm_page_alloc_check() 2021-08-24 02:21:13 +03:00
x86 amd64: stop doing special allocation for the AP startup trampoline 2021-08-24 02:21:13 +03:00
xdr
xen
Makefile