]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r353103: tuntap(4): loosen up tunclose restrictions
authorKyle Evans <kevans@FreeBSD.org>
Mon, 7 Oct 2019 01:03:14 +0000 (01:03 +0000)
committerKyle Evans <kevans@FreeBSD.org>
Mon, 7 Oct 2019 01:03:14 +0000 (01:03 +0000)
commitec5deac7d5a2ff0630ff929c91d7fa1db2f9498d
tree7d0f522de3fcf2bbc403dd91dff301cc6fc9632b
parent2eda92ecfc0448ba6d29b4d83a7abe97ca13b03c
MFC r353103: tuntap(4): loosen up tunclose restrictions

Realistically, this cannot work. We don't allow the tun to be opened twice,
so it must be done via fd passing, fork, dup, some mechanism like these.
Applications demonstrably do not enforce strict ordering when they're
handing off tun devices, so the parent closing before the child will easily
leave the tun/tap device in a bad state where it can't be destroyed and a
confused user because they did nothing wrong.

Concede that we can't leave the tun/tap device in this kind of state because
of software not playing the TUNSIFPID game, but it is still good to find and
fix this kind of thing to keep ifconfig(8) up-to-date and help ensure good
discipline in tun handling.
sys/net/if_tun.c