From ebcef806960b3507d4de6edfd59a89c37b6ca2fd Mon Sep 17 00:00:00 2001 From: Nickolai Zeldovich Date: Fri, 8 Feb 2002 07:05:34 +0000 Subject: [PATCH] Properly AFS_GUNLOCK() when returning an error after having previously AFS_GLOCK()'ed, in afs_mount() and afs_unmount(). --- src/afs/SOLARIS/osi_vfsops.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/afs/SOLARIS/osi_vfsops.c b/src/afs/SOLARIS/osi_vfsops.c index 1a9279315..2a7d4350e 100644 --- a/src/afs/SOLARIS/osi_vfsops.c +++ b/src/afs/SOLARIS/osi_vfsops.c @@ -41,11 +41,14 @@ int afs_mount(struct vfs *afsp, struct vnode *amvp, struct mounta *uap, AFS_STATCNT(afs_mount); - if (!suser(credp)) + if (!suser(credp)) { + AFS_GUNLOCK(); return EPERM; + } afsp->vfs_fstype = afsfstype; if (afs_globalVFS) { /* Don't allow remounts. */ + AFS_GUNLOCK(); return EBUSY; } @@ -68,8 +71,10 @@ int afs_unmount (struct vfs *afsp, struct AFS_UCRED *credp) AFS_GLOCK(); AFS_STATCNT(afs_unmount); - if (!suser(credp)) + if (!suser(credp)) { + AFS_GUNLOCK(); return EPERM; + } afs_globalVFS = 0; afs_shutdown(); -- 2.39.5