···262262 /* stick the duplicate mount on the same expiry list263263 * as the original if that was on one */264264 if (flag & CL_EXPIRE) {265265- spin_lock(&vfsmount_lock);266265 if (!list_empty(&old->mnt_expire))267266 list_add(&mnt->mnt_expire, &old->mnt_expire);268268- spin_unlock(&vfsmount_lock);269267 }270268 }271269 return mnt;···11251127 if (err)11261128 goto out1;1127112911281128- spin_lock(&vfsmount_lock);11291130 /* if the mount is moved, it should no longer be expire11301131 * automatically */11311132 list_del_init(&old_nd.path.mnt->mnt_expire);11321132- spin_unlock(&vfsmount_lock);11331133out1:11341134 mutex_unlock(&nd->path.dentry->d_inode->i_mutex);11351135out:···11941198 if ((err = graft_tree(newmnt, nd)))11951199 goto unlock;1196120011971197- if (fslist) {11981198- /* add to the specified expiration list */11991199- spin_lock(&vfsmount_lock);12011201+ if (fslist) /* add to the specified expiration list */12001202 list_add_tail(&newmnt->mnt_expire, fslist);12011201- spin_unlock(&vfsmount_lock);12021202- }12031203+12031204 up_write(&namespace_sem);12041205 return 0;12051206