Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Oct 2019 07:57:58 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r353629 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <201910160757.x9G7vwcF030804@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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

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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910160757.x9G7vwcF030804>