Issuing FIOSETOWN and TIOCSPGRP ioctl commands on a tun(4) device leaks
authoranton <anton@openbsd.org>
Tue, 9 Mar 2021 20:05:14 +0000 (20:05 +0000)
committeranton <anton@openbsd.org>
Tue, 9 Mar 2021 20:05:14 +0000 (20:05 +0000)
commit43dfcaac64e41374816cb0077c75fe7397955f8c
tree73812d384d46f1e29c44bc658d0ee8cdf60b8c26
parentcf9593fedbcd609677e27086da4eef7cb6ba8994
Issuing FIOSETOWN and TIOCSPGRP ioctl commands on a tun(4) device leaks
device references causing a hang while trying to remove the same
interface since the reference count will never reach zero. Instead of
returning, break out of the switch in order to ensure that tun_put()
gets called.

ok deraadt@ mvs@

Reported-by: syzbot+2ca11c73711a1d0b5c6c@syzkaller.appspotmail.com
sys/net/if_tun.c