Upstream: dmu_zfetch_stream_fini leaks refcount

dmu_zfetch_stream_fini() is missing calls to destroy the refcounts,
leaking them and the mutex inside.

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Jorgen Lundman <lundman@lundman.net>
Closes #12294
This commit is contained in:
Jorgen Lundman 2021-07-02 00:22:16 +09:00 committed by GitHub
parent 50e09eddd0
commit eca174527e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 0 deletions

View File

@ -159,6 +159,8 @@ static void
dmu_zfetch_stream_fini(zstream_t *zs) dmu_zfetch_stream_fini(zstream_t *zs)
{ {
ASSERT(!list_link_active(&zs->zs_node)); ASSERT(!list_link_active(&zs->zs_node));
zfs_refcount_destroy(&zs->zs_callers);
zfs_refcount_destroy(&zs->zs_refs);
kmem_free(zs, sizeof (*zs)); kmem_free(zs, sizeof (*zs));
} }