void umount_tree(struct vfsmount *mnt) 
static void umount_tree(struct vfsmount *mnt) 
void umount_tree(struct vfsmount *mnt){	struct vfsmount *p;	LIST_HEAD(kill);	for (p = mnt; p; p = next_mnt(p, mnt)) {		list_del(&p->mnt_list);		list_add(&p->mnt_list, &kill);	}	while (!list_empty(&kill)) {		mnt = list_entry(kill.next, struct vfsmount, mnt_list);		list_del_init(&mnt->mnt_list);		list_del_init(&mnt->mnt_fslink);		if (mnt->mnt_parent == mnt) {			spin_unlock(&vfsmount_lock);		} else {			struct nameidata old_nd;			detach_mnt(mnt, &old_nd);			spin_unlock(&vfsmount_lock);			path_release(&old_nd);		}		mntput(mnt);		spin_lock(&vfsmount_lock);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/52c1da39534fb382c061de58b65f678ad74b59f5/namespace.c/buggy/fs/namespace.c