svn commit: r353629 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Andriy Gapon avg at FreeBSD.org
Wed Oct 16 07:57:59 UTC 2019


Author: avg
Date: Wed Oct 16 07:57:58 2019
New Revision: 353629
URL: https://svnweb.freebsd.org/changeset/base/353629

Log:
  MFV r353628:
  
  10842 Mutex leak in dsl_dataset_hold_obj()
  
  illumos/illumos-gate at 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 at joyent.com>
  Author: Jorgen Lundman <lundman at lundman.net>
  Obtained from:	illumos, ZoL
  MFC after:	15 days

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
Directory Properties:
  head/sys/cddl/contrib/opensolaris/   (props changed)

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c	Wed Oct 16 07:54:32 2019	(r353628)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c	Wed Oct 16 07:57:58 2019	(r353629)
@@ -573,10 +573,14 @@ dsl_dataset_hold_obj(dsl_pool_t *dp, uint64_t dsobj, v
 			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);


More information about the svn-src-head mailing list