diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2019-10-16 07:54:32 +0000 |
---|---|---|
committer | Andriy Gapon <avg@FreeBSD.org> | 2019-10-16 07:54:32 +0000 |
commit | 74032c5f3b4b5ae87cbc8254a095b485391c3b79 (patch) | |
tree | fd187dd6a2319b567288a20071673f8b85c88ef6 | |
parent | 6c957338141ddda1aa3ddedea1d4207290f62fce (diff) | |
download | src-74032c5f3b4b5ae87cbc8254a095b485391c3b79.tar.gz src-74032c5f3b4b5ae87cbc8254a095b485391c3b79.zip |
10842 Mutex leak in dsl_dataset_hold_obj()
illumos/illumos-gate@ad027c0ff9612bff8f47b43d8561da627f80cd29
https://github.com/illumos/illumos-gate/commit/ad027c0ff9612bff8f47b43d8561da627f80cd29
https://www.illumos.org/issues/10842
ZoL d10b2f1d35b Mutex leak in dsl_dataset_hold_obj()
Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Author: Jorgen Lundman <lundman@lundman.net>
Notes
Notes:
svn path=/vendor-sys/illumos/dist/; revision=353628
-rw-r--r-- | uts/common/fs/zfs/dsl_dataset.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/uts/common/fs/zfs/dsl_dataset.c b/uts/common/fs/zfs/dsl_dataset.c index 27873c0d4529..0b08adb91594 100644 --- a/uts/common/fs/zfs/dsl_dataset.c +++ b/uts/common/fs/zfs/dsl_dataset.c @@ -562,10 +562,14 @@ dsl_dataset_hold_obj(dsl_pool_t *dp, uint64_t dsobj, void *tag, if (ds->ds_prev) dsl_dataset_rele(ds->ds_prev, ds); dsl_dir_rele(ds->ds_dir, ds); + list_destroy(&ds->ds_prop_cbs); + list_destroy(&ds->ds_sendstreams); mutex_destroy(&ds->ds_lock); mutex_destroy(&ds->ds_opening_lock); mutex_destroy(&ds->ds_sendstream_lock); + mutex_destroy(&ds->ds_remap_deadlist_lock); zfs_refcount_destroy(&ds->ds_longholds); + rrw_destroy(&ds->ds_bp_rwlock); kmem_free(ds, sizeof (dsl_dataset_t)); if (err != 0) { dmu_buf_rele(dbuf, tag); |