Page MenuHomeFreeBSD

D53439.id.diff
No OneTemporary

D53439.id.diff

diff --git a/share/man/man9/make_dev.9 b/share/man/man9/make_dev.9
--- a/share/man/man9/make_dev.9
+++ b/share/man/man9/make_dev.9
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd January 19, 2025
+.Dd November 4, 2025
.Dt MAKE_DEV 9
.Os
.Sh NAME
@@ -387,14 +387,18 @@
destroy_dev_sched_cb(cdev, NULL, NULL);
.Ed
.Pp
-The
+Neither the
.Fn d_close
-driver method cannot call
+driver method, nor a
+.Xr devfs_cdevpriv 9
+.Fa dtr
+method can
.Fn destroy_dev
directly.
Doing so causes deadlock when
.Fn destroy_dev
-waits for all threads to leave the driver methods.
+waits for all threads to leave the driver methods and finish executing any
+per-open destructors.
Also, because
.Fn destroy_dev
sleeps, no non-sleepable locks may be held over the call.

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 24, 4:40 PM (8 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24892675
Default Alt Text
D53439.id.diff (838 B)

Event Timeline