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

Mateusz Guzik mjg at FreeBSD.org
Sun Oct 14 16:14:02 UTC 2018


Author: mjg
Date: Sun Oct 14 16:14:01 2018
New Revision: 339355
URL: https://svnweb.freebsd.org/changeset/base/339355

Log:
  zfs: fix a panic after failed mount
  
  r338927("zfs: depessimize zfs_root with rmlocks") failed to error check
  the mount before caching root vnode.
  
  Results in crashes in rrw_enter_read_impl tracing back to zfs_mount.
  
  Reported by:	Mike Tancsa
  Tested by:	allanjude
  Approved by:	re (kib)

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c	Sun Oct 14 05:09:43 2018	(r339354)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c	Sun Oct 14 16:14:01 2018	(r339355)
@@ -1929,7 +1929,8 @@ zfs_mount(vfs_t *vfsp)
 	error = zfs_domount(vfsp, osname);
 	PICKUP_GIANT();
 
-	zfs_root_setvnode((zfsvfs_t *)vfsp->vfs_data);
+	if (error == 0)
+		zfs_root_setvnode((zfsvfs_t *)vfsp->vfs_data);
 
 #ifdef illumos
 	/*


More information about the svn-src-all mailing list