Lines Matching refs:ns

673 	struct mnt_namespace *ns = current->nsproxy->mnt_ns;  in __is_local_mountpoint()  local
681 list_for_each_entry(mnt, &ns->list, mnt_list) { in __is_local_mountpoint()
776 static void touch_mnt_namespace(struct mnt_namespace *ns) in touch_mnt_namespace() argument
778 if (ns) { in touch_mnt_namespace()
779 ns->event = ++event; in touch_mnt_namespace()
780 wake_up_interruptible(&ns->poll); in touch_mnt_namespace()
787 static void __touch_mnt_namespace(struct mnt_namespace *ns) in __touch_mnt_namespace() argument
789 if (ns && ns->event != event) { in __touch_mnt_namespace()
790 ns->event = event; in __touch_mnt_namespace()
791 wake_up_interruptible(&ns->poll); in __touch_mnt_namespace()
1246 if (p->cached_event == p->ns->event) { in m_start()
1251 v = seq_list_next(v, &p->ns->list, &p->cached_index); in m_start()
1256 p->cached_event = p->ns->event; in m_start()
1257 p->cached_mount = seq_list_start(&p->ns->list, *pos); in m_start()
1266 p->cached_mount = seq_list_next(v, &p->ns->list, pos); in m_next()
1436 struct mnt_namespace *ns; in umount_tree() local
1441 ns = p->mnt_ns; in umount_tree()
1442 if (ns) { in umount_tree()
1443 ns->mounts--; in umount_tree()
1444 __touch_mnt_namespace(ns); in umount_tree()
1702 struct mnt_namespace *to_mnt_ns(struct ns_common *ns) in to_mnt_ns() argument
1704 return container_of(ns, struct mnt_namespace, ns); in to_mnt_ns()
1905 int count_mounts(struct mnt_namespace *ns, struct mount *mnt) in count_mounts() argument
1914 old = ns->mounts; in count_mounts()
1915 pending = ns->pending_mounts; in count_mounts()
1923 ns->pending_mounts = pending + mounts; in count_mounts()
1996 struct mnt_namespace *ns = dest_mnt->mnt_ns; in attach_recursive_mnt() local
2011 err = count_mounts(ns, source_mnt); in attach_recursive_mnt()
2061 ns->pending_mounts = 0; in attach_recursive_mnt()
2832 static struct ucounts *inc_mnt_namespaces(struct user_namespace *ns) in inc_mnt_namespaces() argument
2834 return inc_ucount(ns, current_euid(), UCOUNT_MNT_NAMESPACES); in inc_mnt_namespaces()
2842 static void free_mnt_ns(struct mnt_namespace *ns) in free_mnt_ns() argument
2844 ns_free_inum(&ns->ns); in free_mnt_ns()
2845 dec_mnt_namespaces(ns->ucounts); in free_mnt_ns()
2846 put_user_ns(ns->user_ns); in free_mnt_ns()
2847 kfree(ns); in free_mnt_ns()
2874 ret = ns_alloc_inum(&new_ns->ns); in alloc_mnt_ns()
2880 new_ns->ns.ops = &mntns_operations; in alloc_mnt_ns()
2895 struct mnt_namespace *copy_mnt_ns(unsigned long flags, struct mnt_namespace *ns, in copy_mnt_ns() argument
2905 BUG_ON(!ns); in copy_mnt_ns()
2908 get_mnt_ns(ns); in copy_mnt_ns()
2909 return ns; in copy_mnt_ns()
2912 old = ns->root; in copy_mnt_ns()
2921 if (user_ns != ns->user_ns) in copy_mnt_ns()
2990 struct mnt_namespace *ns; in mount_subtree() local
2995 ns = create_mnt_ns(mnt); in mount_subtree()
2996 if (IS_ERR(ns)) in mount_subtree()
2997 return ERR_CAST(ns); in mount_subtree()
3002 put_mnt_ns(ns); in mount_subtree()
3209 struct mnt_namespace *ns; in init_mount_tree() local
3221 ns = create_mnt_ns(mnt); in init_mount_tree()
3222 if (IS_ERR(ns)) in init_mount_tree()
3225 init_task.nsproxy->mnt_ns = ns; in init_mount_tree()
3226 get_mnt_ns(ns); in init_mount_tree()
3270 void put_mnt_ns(struct mnt_namespace *ns) in put_mnt_ns() argument
3272 if (!atomic_dec_and_test(&ns->count)) in put_mnt_ns()
3274 drop_collected_mounts(&ns->root->mnt); in put_mnt_ns()
3275 free_mnt_ns(ns); in put_mnt_ns()
3333 static bool mnt_already_visible(struct mnt_namespace *ns, struct vfsmount *new, in mnt_already_visible() argument
3341 list_for_each_entry(mnt, &ns->list, mnt_list) { in mnt_already_visible()
3399 struct mnt_namespace *ns = current->nsproxy->mnt_ns; in mount_too_revealing() local
3402 if (ns->user_ns == &init_user_ns) in mount_too_revealing()
3416 return !mnt_already_visible(ns, mnt, new_mnt_flags); in mount_too_revealing()
3434 struct ns_common *ns = NULL; in mntns_get() local
3440 ns = &nsproxy->mnt_ns->ns; in mntns_get()
3441 get_mnt_ns(to_mnt_ns(ns)); in mntns_get()
3445 return ns; in mntns_get()
3448 static void mntns_put(struct ns_common *ns) in mntns_put() argument
3450 put_mnt_ns(to_mnt_ns(ns)); in mntns_put()
3453 static int mntns_install(struct nsproxy *nsproxy, struct ns_common *ns) in mntns_install() argument
3456 struct mnt_namespace *mnt_ns = to_mnt_ns(ns), *old_mnt_ns; in mntns_install()
3492 static struct user_namespace *mntns_owner(struct ns_common *ns) in mntns_owner() argument
3494 return to_mnt_ns(ns)->user_ns; in mntns_owner()