K 10 svn:author V 2 ae K 8 svn:date V 27 2019-07-23T12:52:36.139745Z K 7 svn:log V 556 Eliminate rmlock from ipfw's BPF code. After r343631 pfil hooks are invoked in net_epoch_preempt section, this allows to avoid extra locking. Add NET_EPOCH_ASSER() assertion to each ipfw_bpf_*tap*() call to require to be called from inside epoch section. Use NET_EPOCH_WAIT() in ipfw_clone_destroy() to wait until it becomes safe to free() ifnet. And use on-stack ifnet pointer in each ipfw_bpf_*tap*() call to avoid NULL pointer dereference in case when V_*log_if global variable will become NULL during ipfw_bpf_*tap*() call. Sponsored by: Yandex LLC END