diff options
author | 2020-04-12 06:56:37 +0000 | |
---|---|---|
committer | 2020-04-12 06:56:37 +0000 | |
commit | ed1cf1893cb2dbb9c6c2a65b69a8b67920fcc2b9 (patch) | |
tree | 3a47986114882cab9bc814e1edc52eae20002cbe /usr.bin/tmux/cmd-list-keys.c | |
parent | ifpromisc() requires NET_LOCK(), so acquire the lock when changing (diff) | |
download | wireguard-openbsd-ed1cf1893cb2dbb9c6c2a65b69a8b67920fcc2b9.tar.xz wireguard-openbsd-ed1cf1893cb2dbb9c6c2a65b69a8b67920fcc2b9.zip |
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)
Diffstat (limited to 'usr.bin/tmux/cmd-list-keys.c')
0 files changed, 0 insertions, 0 deletions