CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2020/04/12 00:56:37
Modified files: sys/net : if_tpmr.c Log message: take NET_LOCK in tpmr_clone_destroy() before calling tpmr_p_dtor() tpmr_p_dtor() calls ifpromisc(), and ifpromisc() callers need to be holding NET_LOCK to make changes to if_flags and if_pcount, and before calling the interfaces ioctl to apply the flag change. found by hrvoje popovski who was testing tpmr with vlan interfaces. vlan(4) asserts that the net lock is held in it's ioctl path, which started this whole bug hunt. ok visa@ (who came up with a similar diff, which hrvoje tested)