[Bug 295614] tun_destroy() holds ifnet_detach_sxlock while sleeping on tun_cv
[email protected] Thu, 28 May 2026 09:28:16 +0000
| Newsgroups | gmane.os.freebsd.devel.net |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295614 Zhenlei Huang <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #7 from Zhenlei Huang <[email protected]> --- (In reply to Olivier Cochard from comment #0) > The third command never returns. From that point on, every subsequent `ifconfig > <anything> destroy`, `jail -R` that touches a cloned interface, and `jls` (via the > allprison cascade described below) blocks in uninterruptible-style sleep. SIGKILL on > the wedged ifconfig does not break it. Only a reboot recover I think the right approach is killing the processes those open tun(4) / tap(4) devices, but not killing the `ifconfig` which is destroying the interface. In your case it is, ``` kill <pid of sleep 99999 < /dev/tun1 &> ``` Initially I thought given the interface is to be destroyed ( by admin ), it sounds not a good idea to let the processes blocks indefinitely. But it appears that sending a kill/term signal to the process on destroy is also not a good idea. So probably the best approach is letting the admin decide what to do ? Maybe the process should listen on some event like this, `the interface is about to be destroyed`, and close the file description gracefully. -- You are receiving this mail because: You are the assignee for the bug.