diff options
author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2019-06-25 11:46:01 +0000 |
---|---|---|
committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2019-06-25 11:46:01 +0000 |
commit | 43a9329e1b94de73833eb3f216d516d7724a2c71 (patch) | |
tree | 72d5683519e8c3cb0586f63cbbbb45e00281db43 /sys/fs/cuse | |
parent | c7ffaed92e1f8dac4307f7935c8120c98811ae45 (diff) | |
download | src-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.c | 4 |
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(); |