From 2e427fa9df927add162338439534ed7dcddae02c Mon Sep 17 00:00:00 2001 From: Nickolai Zeldovich Date: Fri, 19 Apr 2002 05:10:38 +0000 Subject: [PATCH] Properly AFS_GUNLOCK() when returning an error after having previously AFS_GLOCK()'ed, in afs_mount() and afs_unmount(). (cherry picked from commit ebcef806960b3507d4de6edfd59a89c37b6ca2fd) --- 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 239a5c57b..009b34a6b 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