opnsense-src/sys
Aleksandr Fedorov 0e6e2c4ef3 netgraph(4): Don't process NGQF_MESG items in NET_EPOCH context.
Netgraph has two main types of message items:

- NGQF_DATA items are used for data processing. This is a hot path that
should be called from a NET_EPOCH context.

- NGQF_MESG items are used for node configuration. There are many places
in netgraph(4) where processing the NGQF_MESG item can call sections of code
that are forbidden in the NET_EPOCH context.

All item types can be queued and then processed using ngthread().
But ngthread() is unconditionally enter in the NET_EPOCH section for all types.
This causes panic/deadlocks when processing NGQF_MESG elements.

Reported by:	mjg
Reviewed by:	glebius, vmaffione (mentor)
Tested by:	mjg, afedorov
Approved by:	glebius, vmaffione (mentor)
Sponsored by:	vstack.com
Differential Revision:	https://reviews.freebsd.org/D36496
2022-09-13 17:20:41 +03:00
..
amd64 tcp: make CUBIC the default congestion control mechanism. 2022-09-13 12:09:21 +02:00
arm tcp: make CUBIC the default congestion control mechanism. 2022-09-13 12:09:21 +02:00
arm64 tcp: make CUBIC the default congestion control mechanism. 2022-09-13 12:09:21 +02:00
bsm
cam CTL: Validate IOCTL parameters. 2022-09-06 21:58:27 -04:00
cddl Adjust function definition in riscv's dtrace_subr.c to avoid clang 15 warning 2022-08-14 21:27:34 +02:00
compat rb_tree: pass parent to RB_INSERT_COLOR 2022-09-13 01:11:47 -05:00
conf tcp: make CUBIC the default congestion control mechanism. 2022-09-13 12:09:21 +02:00
contrib rtw89: import firmware for Realtek's rtw89 supported chipsets. 2022-09-09 16:32:17 +00:00
crypto Fix the IV length in the armv8 AES GCM code 2022-09-06 13:11:04 +01:00
ddb Adjust db_flush_line() definition to avoid clang 15 warning 2022-07-19 20:37:15 +02:00
dev qcom_qup: compilation fixes 2022-09-12 20:10:25 -07:00
dts sys/dts: Remove MIPS files 2022-05-20 17:11:27 +01:00
fs nfscl: Allow "nolockd" to work for NFSv4 mounts 2022-09-04 13:09:33 -07:00
gdb ddb: use _FLAGS command macros where appropriate 2022-07-05 11:56:55 -03:00
geom Adjust g_waitidle() visibility and definition 2022-08-02 21:11:10 +03:00
gnu bwn: eliminate dead writes in BWN_GPL_PHY 2022-05-04 09:32:59 -04:00
i386 tcp: make CUBIC the default congestion control mechanism. 2022-09-13 12:09:21 +02:00
isa Adjust function definition in isa's pnp.c to avoid clang 15 warning 2022-07-27 21:13:59 +02:00
kern vfs: make NDVALIDATE private to vfs_lookup.c 2022-09-12 22:50:48 +00:00
kgssapi kgssapi krb5: Remove unused variables. 2022-04-06 16:45:29 -07:00
libkern libkern: Fix a typo in a source code comment 2022-06-05 08:57:26 +02:00
modules rtw89: import firmware for Realtek's rtw89 supported chipsets. 2022-09-09 16:32:17 +00:00
net Add getsock 2022-09-10 19:47:47 +00:00
net80211 LinuxKPI: 80211 (+net80211): update and cleanup headers 2022-09-09 18:40:23 +00:00
netgraph netgraph(4): Don't process NGQF_MESG items in NET_EPOCH context. 2022-09-13 17:20:41 +03:00
netinet tcp: make CUBIC the default congestion control mechanism. 2022-09-13 12:09:21 +02:00
netinet6 netinet6: Remove a double word in a source code comment 2022-09-10 13:01:44 +02:00
netipsec protosw: refactor protosw and domain static declaration and load 2022-08-17 11:50:32 -07:00
netpfil pf: remove pf_bcmp_state_key 2022-09-09 17:16:58 +00:00
netsmb smb_smb_treedisconnect: eliminate write only variable mbp 2022-04-04 22:30:57 -06:00
nfs nfs: skip bootpc when vfs.root.mountfrom is other than nfs 2022-05-31 16:07:27 -03:00
nfsclient
nfsserver
nlm sys/nlm: Use C99 fixed-width integer types. 2021-12-28 09:42:42 -08:00
ofed ibcore: Add support for RDMA/RoCE using VLAN(4) devices. 2022-08-22 10:04:26 +02:00
opencrypto opencrypto: mark INVARIANTS variables as __diagused 2022-08-10 15:35:29 -04:00
powerpc tcp: make CUBIC the default congestion control mechanism. 2022-09-13 12:09:21 +02:00
riscv tcp: make CUBIC the default congestion control mechanism. 2022-09-13 12:09:21 +02:00
rpc nfsd: Allow multiple instances of rpc.tlsservd 2022-08-22 13:54:24 -07:00
security mac_veriexec_parser: fix build after 7e1d3eefd4. 2022-09-09 14:09:08 +02:00
sys rb_tree: pass parent to RB_INSERT_COLOR 2022-09-13 01:11:47 -05:00
teken teken: color #3 is yellow not brown - use TC_YELLOW as the name 2022-03-12 09:17:29 -05:00
tests
tools sound(4): Fix order of parameters for custom equalizer band pass filter. 2022-08-22 10:04:26 +02:00
ufs Updates to UFS/FFS superblock integrity checks when reading a superblock. 2022-09-03 14:11:38 -07:00
vm protosw: retire pr_drain and use EVENTHANDLER(9) directly 2022-08-17 11:50:31 -07:00
x86 x86: Correct a typo in source code comment 2022-09-04 13:36:53 +02:00
xdr sys/xdr: Use C99 fixed-width integer types. 2021-12-28 09:43:26 -08:00
xen xenbus: improve device tracking 2022-06-07 12:29:53 +02:00
Makefile Fix 'make cscope' with ALL_ARCH defined 2022-01-07 11:53:52 -04:00