freebsd-skq/sys/netgraph
Mark Johnston e62e4b8594 ng_l2tp: Fix callout synchronization in the rexmit timeout handler
A received control packet may cause the transmit queue to be flushed, in
which case ng_l2tp_seq_recv_nr() cancels the transmit timeout handler.
The handler checks to see if it was cancelled before doing anything, but
did so before acquiring the node lock, so a small race window could
cause ng_l2tp_seq_rack_timeout() to attempt to flush an empty queue,
ultimately causing a null pointer dereference.

PR:		241133
Reviewed by:	bz, glebius, Lutz Donnerhacke
MFC after:	3 days
Sponsored by:	Rubicon Communications, LLC (Netgate)
Differential Revision:	https://reviews.freebsd.org/D26548
2020-09-25 18:55:50 +00:00
..
atm net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
bluetooth net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
netflow net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
netgraph.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00: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
ng_atmllc.h
ng_base.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00: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 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_bridge.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_car.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_car.h Fix spelling of "dropped". 2020-03-04 22:32:40 +00:00
ng_checksum.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_checksum.h
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 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_device.h
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
ng_etf.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_etf.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_ether.c ng_ether: Enter NET_EPOCH where required 2020-09-02 11:49:22 +00:00
ng_ether.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_demux.c
ng_gif_demux.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
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
ng_iface.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +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
ng_ipfw.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_ipfw.h
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: Fix callout synchronization in the rexmit timeout handler 2020-09-25 18:55:50 +00:00
ng_l2tp.h
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_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 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_nat.h Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) 2018-12-17 16:00:35 +00:00
ng_one2many.c
ng_one2many.h net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_parse.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00: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
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 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00: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 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00: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 net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00: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 ng_source(4): correction after the change r340617 2018-11-27 04:05:38 +00: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_sppp.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_sppp.h
ng_tag.c net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
ng_tag.h
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
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
NOTES