Author: hselasky
Date: Tue Jun 25 11:46:01 2019
New Revision: 349368
URL: https://svnweb.freebsd.org/changeset/base/349368

Log:
  Free all allocated unit IDs in cuse(3) after the client character
  devices have been destroyed to avoid creating character devices with
  identical name.
  
  MFC after:    1 week
  Sponsored by: Mellanox Technologies

Modified:
  head/sys/fs/cuse/cuse.c

Modified: head/sys/fs/cuse/cuse.c
==============================================================================
--- head/sys/fs/cuse/cuse.c     Tue Jun 25 11:42:53 2019        (r349367)
+++ head/sys/fs/cuse/cuse.c     Tue Jun 25 11:46:01 2019        (r349368)
@@ -671,14 +671,14 @@ cuse_server_unref(struct cuse_server *pcs)
 
        TAILQ_REMOVE(&cuse_server_head, pcs, entry);
 
-       cuse_free_unit_by_id_locked(pcs, -1);
-
        while ((pcsd = TAILQ_FIRST(&pcs->hdev)) != NULL) {
                TAILQ_REMOVE(&pcs->hdev, pcsd, entry);
                cuse_unlock();
                cuse_server_free_dev(pcsd);
                cuse_lock();
        }
+
+       cuse_free_unit_by_id_locked(pcs, -1);
 
        while ((mem = TAILQ_FIRST(&pcs->hmem)) != NULL) {
                TAILQ_REMOVE(&pcs->hmem, mem, entry);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to