changeset 12115:3655f38d3bea

6942295 use-after-free panic in dsl_dataset_user_release_one
author Chris Kirby <Chris.Kirby@oracle.com>
date Fri, 09 Apr 2010 13:37:14 -0600
parents 97f31f629b06
children ea985fb42600
files usr/src/uts/common/fs/zfs/dsl_dataset.c
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/common/fs/zfs/dsl_dataset.c	Fri Apr 09 14:59:31 2010 -0400
+++ b/usr/src/uts/common/fs/zfs/dsl_dataset.c	Fri Apr 09 13:37:14 2010 -0600
@@ -19,8 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
 #include <sys/dmu_objset.h>
@@ -3576,7 +3575,9 @@
 
 	if (might_destroy) {
 #ifdef _KERNEL
+		name = kmem_asprintf("%s@%s", dsname, ha->snapname);
 		error = zfs_unmount_snap(name, NULL);
+		strfree(name);
 		if (error) {
 			dsl_dataset_rele(ds, dtag);
 			return (error);