Gleb Smirnoff
89042ff776
ng_l2tp: improve callout locking.
...
Apparently e62e4b85942 wasn't enough to close the race between
a queue being flushed by a packet and callout executing, because
the callouts used without a lock aren't 100% bulletproof. To close
the race use callout_init_mtx() for L2TP timers, and make sure that
all calls to ng_callout()/ng_uncallout() are done under the seq lock.
If used properly, a locked callout can be used transparently with
old netgraph KPI of ng_callout/ng_uncallout which predates locked
callouts.
While here, utilize ng_uncallout_drain() instead of ng_uncallout()
on the node shutdown.
PR: 241133
Reviewed by: mjg, markj
Differential Revision: https://reviews.freebsd.org/D31476
2021-09-10 11:27:19 -07:00
..
2020-09-01 21:19:14 +00:00
2021-09-10 11:26:59 -07:00
2021-08-22 22:56:08 +00:00
2021-09-10 11:27:04 -07:00
2020-09-01 21:19:14 +00:00
2021-09-10 11:27:04 -07:00
2020-09-01 21:19:14 +00:00
2021-08-13 09:49:43 -04:00
2021-05-04 22:14:59 +02:00
2021-05-19 11:04:08 -04:00
2021-01-27 21:22:51 +01:00
2021-05-16 19:39:51 +02:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-12-23 00:12:16 -05:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2021-08-22 22:56:08 +00:00
2020-07-31 14:08:54 +00:00
2019-10-07 22:40:05 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2021-09-10 11:27:19 -07:00
2020-09-01 21:19:14 +00:00
2020-12-09 15:28:56 +00:00
2020-12-08 15:09:42 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2021-01-24 20:38:35 +01:00
2021-01-24 20:38:35 +01:00
2021-01-18 14:10:34 +01:00
2020-09-01 21:19:14 +00:00
2021-05-18 22:36:28 +02:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-08-18 22:46:46 +00:00
2020-09-01 21:19:14 +00:00
2020-09-02 11:49:22 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2021-07-28 09:35:09 -07:00
2020-09-01 21:19:14 +00:00
2021-01-29 12:34:53 +01:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2021-01-18 13:23:22 +01:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2021-01-26 16:53:24 +01:00
2021-01-26 16:53:24 +01:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2021-01-27 21:22:51 +01:00