/* (Clearly, a task raising the refcount on its own ipc_ns needn't take mq_lock since it can't race with the last task in the ipcns exiting).  */
void put_ipc_ns(struct ipc_namespace *ns)
/* (Clearly, a task raising the refcount on its own ipc_ns needn't take mq_lock since it can't race with the last task in the ipcns exiting).  */
void put_ipc_ns(struct ipc_namespace *ns)
{
	if (atomic_dec_and_lock(&ns->count, &mq_lock)) {
		mq_clear_sbinfo(ns);
		spin_unlock(&mq_lock);
		mq_put_mnt(ns);
		free_ipc_ns(ns);
	}
}