Lines Matching refs:ns
22 struct ipc_namespace *ns; in create_ipc_ns() local
25 ns = kmalloc(sizeof(struct ipc_namespace), GFP_KERNEL); in create_ipc_ns()
26 if (ns == NULL) in create_ipc_ns()
29 err = proc_alloc_inum(&ns->proc_inum); in create_ipc_ns()
31 kfree(ns); in create_ipc_ns()
35 atomic_set(&ns->count, 1); in create_ipc_ns()
36 err = mq_init_ns(ns); in create_ipc_ns()
38 proc_free_inum(ns->proc_inum); in create_ipc_ns()
39 kfree(ns); in create_ipc_ns()
44 sem_init_ns(ns); in create_ipc_ns()
45 msg_init_ns(ns); in create_ipc_ns()
46 shm_init_ns(ns); in create_ipc_ns()
54 register_ipcns_notifier(ns); in create_ipc_ns()
56 ns->user_ns = get_user_ns(user_ns); in create_ipc_ns()
58 return ns; in create_ipc_ns()
62 struct user_namespace *user_ns, struct ipc_namespace *ns) in copy_ipcs() argument
65 return get_ipc_ns(ns); in copy_ipcs()
66 return create_ipc_ns(user_ns, ns); in copy_ipcs()
77 void free_ipcs(struct ipc_namespace *ns, struct ipc_ids *ids, in free_ipcs() argument
93 free(ns, perm); in free_ipcs()
99 static void free_ipc_ns(struct ipc_namespace *ns) in free_ipc_ns() argument
109 unregister_ipcns_notifier(ns); in free_ipc_ns()
110 sem_exit_ns(ns); in free_ipc_ns()
111 msg_exit_ns(ns); in free_ipc_ns()
112 shm_exit_ns(ns); in free_ipc_ns()
120 put_user_ns(ns->user_ns); in free_ipc_ns()
121 proc_free_inum(ns->proc_inum); in free_ipc_ns()
122 kfree(ns); in free_ipc_ns()
141 void put_ipc_ns(struct ipc_namespace *ns) in put_ipc_ns() argument
143 if (atomic_dec_and_lock(&ns->count, &mq_lock)) { in put_ipc_ns()
144 mq_clear_sbinfo(ns); in put_ipc_ns()
146 mq_put_mnt(ns); in put_ipc_ns()
147 free_ipc_ns(ns); in put_ipc_ns()
153 struct ipc_namespace *ns = NULL; in ipcns_get() local
159 ns = get_ipc_ns(nsproxy->ipc_ns); in ipcns_get()
162 return ns; in ipcns_get()
165 static void ipcns_put(void *ns) in ipcns_put() argument
167 return put_ipc_ns(ns); in ipcns_put()
172 struct ipc_namespace *ns = new; in ipcns_install() local
173 if (!ns_capable(ns->user_ns, CAP_SYS_ADMIN) || in ipcns_install()
180 nsproxy->ipc_ns = get_ipc_ns(ns); in ipcns_install()
186 struct ipc_namespace *ns = vp; in ipcns_inum() local
188 return ns->proc_inum; in ipcns_inum()