Fix race between pflow_output_process() and pflow_clone_destroy().
authormvs <mvs@openbsd.org>
Fri, 12 Aug 2022 16:38:09 +0000 (16:38 +0000)
committermvs <mvs@openbsd.org>
Fri, 12 Aug 2022 16:38:09 +0000 (16:38 +0000)
commitb170e74a5fce3ef07ff69cc69b65c14b60f1f909
tree194759238ec0317ba4882a7a24a7ee154dde4902
parentcecab4c7fb935f1fdf03adf7a5f2eac2f83a8021
Fix race between pflow_output_process() and pflow_clone_destroy().

Unlink pflow(4) interface from `pflowif_list' before start destruction to
prevent pflow_output_process() being rescheduled. Also wait until running
pflow_output_process() task finished.

Problem reported and fix tested by Hrvoje Popovski.

ok bluhm@
sys/net/if_pflow.c