__touch_namespace(p->mnt_namespace);
static 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);		p->mnt_namespace = NULL;	}	while (!list_empty(&kill)) {		mnt = list_entry(kill.next, struct vfsmount, mnt_list);		list_del_init(&mnt->mnt_list);		list_del_init(&mnt->mnt_expire);		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);	}}