Lines Matching full:ns
32 struct ns_common *ns = inode->i_private; in ns_dname() local
33 const struct proc_ns_operations *ns_ops = ns->ops; in ns_dname()
46 struct ns_common *ns = inode->i_private; in nsfs_evict() local
48 ns->ops->put(ns); in nsfs_evict()
54 struct ns_common *ns; in ns_get_path_cb() local
56 ns = ns_get_cb(private_data); in ns_get_path_cb()
57 if (!ns) in ns_get_path_cb()
60 return path_from_stashed(&ns->stashed, nsfs_mnt, ns, path); in ns_get_path_cb()
88 * @ns: the namespace to open
90 * This will consume a reference to @ns indendent of success or failure.
94 int open_namespace(struct ns_common *ns) in open_namespace() argument
101 err = path_from_stashed(&ns->stashed, nsfs_mnt, ns, &path); in open_namespace()
117 int open_related_ns(struct ns_common *ns, in open_related_ns() argument
118 struct ns_common *(*get_ns)(struct ns_common *ns)) in open_related_ns() argument
122 relative = get_ns(ns); in open_related_ns()
186 struct ns_common *ns; in ns_ioctl() local
196 ns = get_proc_ns(file_inode(filp)); in ns_ioctl()
199 return open_related_ns(ns, ns_get_owner); in ns_ioctl()
201 if (!ns->ops->get_parent) in ns_ioctl()
203 return open_related_ns(ns, ns->ops->get_parent); in ns_ioctl()
205 return ns->ops->type; in ns_ioctl()
207 if (ns->ops->type != CLONE_NEWUSER) in ns_ioctl()
209 user_ns = container_of(ns, struct user_namespace, ns); in ns_ioctl()
217 if (ns->ops->type != CLONE_NEWNS) in ns_ioctl()
220 mnt_ns = container_of(ns, struct mnt_namespace, ns); in ns_ioctl()
232 if (ns->ops->type != CLONE_NEWPID) in ns_ioctl()
236 pid_ns = container_of(ns, struct pid_namespace, ns); in ns_ioctl()
279 if (ns->ops->type != CLONE_NEWNS) in ns_ioctl()
288 return copy_ns_info_to_user(to_mnt_ns(ns), uinfo, usize, &kinfo); in ns_ioctl()
300 if (ns->ops->type != CLONE_NEWNS) in ns_ioctl()
306 mnt_ns = get_sequential_mnt_ns(to_mnt_ns(ns), previous); in ns_ioctl()
310 ns = to_ns_common(mnt_ns); in ns_ioctl()
312 ret = path_from_stashed(&ns->stashed, nsfs_mnt, ns, &path); in ns_ioctl()
329 ret = copy_ns_info_to_user(to_mnt_ns(ns), uinfo, usize, &kinfo); in ns_ioctl()
349 struct ns_common *ns; in ns_get_name() local
352 ns = ns_ops->get(task); in ns_get_name()
353 if (ns) { in ns_get_name()
355 res = snprintf(buf, size, "%s:[%u]", name, ns->inum); in ns_get_name()
356 ns_ops->put(ns); in ns_get_name()
368 * @ns: current namespace
374 bool ns_match(const struct ns_common *ns, dev_t dev, ino_t ino) in ns_match() argument
376 return (ns->inum == ino) && (nsfs_mnt->mnt_sb->s_dev == dev); in ns_match()
383 const struct ns_common *ns = inode->i_private; in nsfs_show_path() local
384 const struct proc_ns_operations *ns_ops = ns->ops; in nsfs_show_path()
398 struct ns_common *ns = data; in nsfs_init_inode() local
403 inode->i_ino = ns->inum; in nsfs_init_inode()
409 struct ns_common *ns = data; in nsfs_put_data() local
410 ns->ops->put(ns); in nsfs_put_data()