diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2019-10-16 07:57:58 +0000 |
---|---|---|
committer | Andriy Gapon <avg@FreeBSD.org> | 2019-10-16 07:57:58 +0000 |
commit | f6a4b91c7558f0201cc132ac9728ed2994f93914 (patch) | |
tree | dcb712d07600403835be19b64f014898ae5016bc /sys/cddl | |
parent | b830d4335639e21f0b81372c2a914c9a2e4d1446 (diff) | |
parent | 74032c5f3b4b5ae87cbc8254a095b485391c3b79 (diff) | |
download | src-f6a4b91c7558f0201cc132ac9728ed2994f93914.tar.gz src-f6a4b91c7558f0201cc132ac9728ed2994f93914.zip |
MFV r353628:
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>
Obtained from: illumos, ZoL
MFC after: 15 days
Notes
Notes:
svn path=/head/; revision=353629
Diffstat (limited to 'sys/cddl')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c index 06a04474e3cd..b12ca9d7a6ef 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c @@ -573,10 +573,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); |