aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/cuse
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2019-06-25 11:46:01 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2019-06-25 11:46:01 +0000
commit43a9329e1b94de73833eb3f216d516d7724a2c71 (patch)
tree72d5683519e8c3cb0586f63cbbbb45e00281db43 /sys/fs/cuse
parentc7ffaed92e1f8dac4307f7935c8120c98811ae45 (diff)
downloadsrc-43a9329e1b94de73833eb3f216d516d7724a2c71.tar.gz
src-43a9329e1b94de73833eb3f216d516d7724a2c71.zip
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
Notes
Notes: svn path=/head/; revision=349368
Diffstat (limited to 'sys/fs/cuse')
-rw-r--r--sys/fs/cuse/cuse.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/fs/cuse/cuse.c b/sys/fs/cuse/cuse.c
index 2fc38dda3da6..765fe308af7b 100644
--- a/sys/fs/cuse/cuse.c
+++ b/sys/fs/cuse/cuse.c
@@ -671,8 +671,6 @@ 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();
@@ -680,6 +678,8 @@ cuse_server_unref(struct cuse_server *pcs)
cuse_lock();
}
+ cuse_free_unit_by_id_locked(pcs, -1);
+
while ((mem = TAILQ_FIRST(&pcs->hmem)) != NULL) {
TAILQ_REMOVE(&pcs->hmem, mem, entry);
cuse_unlock();