When we unmount, and afs_globalVp is NULL (e.g. because root.afs was
unavailable when the client was started), we will panic the machine if
we try to release it. So, if afs_globalVp is NULL when we hit our
unmount handler, don't touch it.
Reported by Andy Cobaugh.
Reviewed-on: http://gerrit.openafs.org/5117
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit
b621a2986099488426a026818532a9600db9aeba)
Change-Id: Iaa5db97e9fc87d1eb083d20a9fc6a49cbb5a066b
Reviewed-on: http://gerrit.openafs.org/5230
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
afsp->vfs_flag |= VFS_UNMOUNTED;
#endif /* AFS_SUN58_ENV */
- /* release the root vnode, which should be the last reference to us
- * besides the caller of afs_unmount */
- rootvp = afs_globalVp;
- afs_globalVp = NULL;
- AFS_RELE(rootvp);
+ if (afs_globalVp) {
+ /* release the root vnode, which should be the last reference to us
+ * besides the caller of afs_unmount */
+ rootvp = afs_globalVp;
+ afs_globalVp = NULL;
+ AFS_RELE(rootvp);
+ }
#ifndef AFS_SUN58_ENV
/* shutdown now, since gafs_freevfs() will not be called */