From: Nickolai Zeldovich Date: Fri, 19 Apr 2002 05:10:38 +0000 (+0000) Subject: Properly AFS_GUNLOCK() when returning an error after having previously X-Git-Tag: openafs-stable-1_2_4~70 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=2e427fa9df927add162338439534ed7dcddae02c;p=packages%2Fo%2Fopenafs.git Properly AFS_GUNLOCK() when returning an error after having previously AFS_GLOCK()'ed, in afs_mount() and afs_unmount(). (cherry picked from commit ebcef806960b3507d4de6edfd59a89c37b6ca2fd) --- 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();