opnsense-src/sys/netgraph
Gleb Smirnoff ae04d30451 ng_l2tp: use callout_reset() instead of ng_callout()
The previous commit to this node falsely stated that locked callouts
are compatible with netgraph ng_callout KPI.  They are not.  An item
can be queued instead of being applied to the node, which results in
a mutex leak to the callout thread and later unlocked call into function
that expects to be called locked.

Potentially netgraph can be taught to handle locked callouts, but that
would bring a lot of complexity in it.  Instead lets question necessity
of ng_callout() instead of callout_reset().  It protects against node
going away while callout is scheduled.  But a node that drains all
callouts in the shutdown method (ng_l2tp does) is already protected.

Fixes:	89042ff776
2021-12-03 08:57:23 -08:00
..
atm net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
bluetooth bluetooth: complete removal of ng_h4 2021-09-29 20:00:02 -06:00
netflow routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549). 2021-08-22 22:56:08 +00:00
netgraph.h netgraph: add ng_uncallout_drain(). 2021-09-10 11:27:04 -07:00
ng_async.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_async.h
ng_atmllc.c Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
ng_atmllc.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_base.c Implement GET_STACK_USAGE on remaining archs 2021-11-30 11:15:56 -04:00
ng_bpf.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_bpf.h
ng_bridge.c ng_bridge: count item allocation failures as memory failures 2021-11-23 10:05:36 -08:00
ng_bridge.h netgraph/ng_bridge: learn MACs via control message 2021-05-04 22:14:59 +02:00
ng_car.c Fix packet cbs/ebs conversion. 2021-05-19 11:04:08 -04:00
ng_car.h netgraph/ng_car: Add color marking code 2021-01-27 21:22:51 +01:00
ng_checksum.c netgraph/ng_checksum: Fix double free error 2021-05-16 19:39:51 +02:00
ng_checksum.h netgraph module for reconstructing checksums 2016-08-01 12:09:04 +00:00
ng_cisco.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_cisco.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_deflate.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_deflate.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_device.c Add ETHER_ALIGN support to ng_device(4). 2021-11-14 13:37:41 +01:00
ng_device.h Add ETHER_ALIGN support to ng_device(4). 2021-11-14 13:37:41 +01:00
ng_echo.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_echo.h
ng_eiface.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_eiface.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_etf.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_etf.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_ether.c ng_ether: Create netgraph nodes for bridge interfaces. 2021-09-26 01:24:33 +09:00
ng_ether.h
ng_ether_echo.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_ether_echo.h
ng_frame_relay.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_frame_relay.h
ng_gif.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_gif.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_gif_demux.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_gif_demux.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_hole.c
ng_hole.h
ng_hub.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_hub.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_iface.c routing: Allow using IPv6 next-hops for IPv4 routes (RFC 5549). 2021-08-22 22:56:08 +00:00
ng_iface.h ng_iface(4): Remove unsupported protocols. 2020-07-31 14:08:54 +00:00
ng_ip_input.c Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
ng_ip_input.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_ipfw.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_ipfw.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_ksocket.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_ksocket.h
ng_l2tp.c ng_l2tp: use callout_reset() instead of ng_callout() 2021-12-03 08:57:23 -08:00
ng_l2tp.h sys/netgraph: spelling fixes in comments. 2016-04-29 21:25:05 +00:00
ng_lmi.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_lmi.h
ng_macfilter.c netgraph: macfilter: small fixes 2020-12-09 15:28:56 +00:00
ng_macfilter.h New Netgraph module ng_macfilter: 2020-12-08 15:09:42 +00:00
ng_message.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_mppc.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_mppc.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_nat.c netgraph/ng_nat: Add RFC 6598/Carrier Grade NAT support 2021-01-24 20:38:35 +01:00
ng_nat.h netgraph/ng_nat: Add RFC 6598/Carrier Grade NAT support 2021-01-24 20:38:35 +01:00
ng_one2many.c netgraph/ng_one2main: Clarification in comments about copy mode 2021-01-18 14:10:34 +01:00
ng_one2many.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_parse.c ng_parse: IP address parsing in netgraph eating too many characters 2021-05-18 22:36:28 +02:00
ng_parse.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_patch.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_patch.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_pipe.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_pipe.h Increase BER to PER lookup table size in an attempt to mitigate panics 2020-08-18 22:46:46 +00:00
ng_ppp.c ng_ppp(4): Fix a typo in a comment 2021-10-14 15:30:32 +02:00
ng_ppp.h
ng_pppoe.c ng_ether: Enter NET_EPOCH where required 2020-09-02 11:49:22 +00:00
ng_pppoe.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_pptpgre.c ng_pptpgre(4): Fix a typo in a source code comment 2021-11-03 17:15:59 +01:00
ng_pptpgre.h Make ng_pptpgre(8) netgraph node be able to restore order for packets 2018-11-04 19:10:44 +00:00
ng_pred1.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_pred1.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_rfc1490.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_rfc1490.h
ng_sample.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_sample.h
ng_socket.c socket: Implement SO_RERROR 2021-07-28 09:35:09 -07:00
ng_socket.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_socketvar.h
ng_source.c netgraph/ng_source: Switch queuing framework 2021-01-29 12:34:53 +01:00
ng_source.h
ng_split.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_split.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_tag.c netgraph/ng_tag: permit variable length data 2021-01-18 13:23:22 +01:00
ng_tag.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_tcpmss.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_tcpmss.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_tee.c sys/netgraph: spelling fixes in comments. 2016-04-29 21:25:05 +00:00
ng_tee.h
ng_tty.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_tty.h
ng_UI.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_UI.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_vjc.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_vjc.h
ng_vlan.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_vlan.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_vlan_rotate.c netgraph/ng_vlan_rotate: IEEE 802.1ad VLAN manipulation netgraph type 2021-01-26 16:53:24 +01:00
ng_vlan_rotate.h netgraph/ng_vlan_rotate: IEEE 802.1ad VLAN manipulation netgraph type 2021-01-26 16:53:24 +01:00
NOTES
qos.h netgraph/ng_car: Add color marking code 2021-01-27 21:22:51 +01:00