Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Mar 2010 14:53:29 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r205598 - stable/8/sys/fs/msdosfs
Message-ID:  <201003241453.o2OErTQS029427@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Wed Mar 24 14:53:28 2010
New Revision: 205598
URL: http://svn.freebsd.org/changeset/base/205598

Log:
  MFC r204589:
  Do not leak vnode lock when msdosfs mount is updated and specified
  device is different from the device used to the original mount.

Modified:
  stable/8/sys/fs/msdosfs/msdosfs_vfsops.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)
  stable/8/sys/net/   (props changed)

Modified: stable/8/sys/fs/msdosfs/msdosfs_vfsops.c
==============================================================================
--- stable/8/sys/fs/msdosfs/msdosfs_vfsops.c	Wed Mar 24 14:50:04 2010	(r205597)
+++ stable/8/sys/fs/msdosfs/msdosfs_vfsops.c	Wed Mar 24 14:53:28 2010	(r205598)
@@ -383,10 +383,9 @@ msdosfs_mount(struct mount *mp)
 		pmp = VFSTOMSDOSFS(mp);
 #endif
 	} else {
+		vput(devvp);
 		if (devvp != pmp->pm_devvp)
-			error = EINVAL;	/* XXX needs translation */
-		else
-			vput(devvp);
+			return (EINVAL);	/* XXX needs translation */
 	}
 	if (error) {
 		vrele(devvp);



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