Unverified Commit 74b24a58 authored by Christian Brauner's avatar Christian Brauner
Browse files

ipc: support ns lookup



Support the generic ns lookup infrastructure to support file handles for
namespaces.

Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 7c605939
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include <linux/proc_ns.h>
#include <linux/uaccess.h>
#include <linux/sched.h>
#include <linux/nstree.h>

#include "util.h"

+3 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include <linux/mount.h>
#include <linux/user_namespace.h>
#include <linux/proc_ns.h>
#include <linux/nstree.h>
#include <linux/sched/task.h>

#include "util.h"
@@ -85,6 +86,7 @@ static struct ipc_namespace *create_ipc_ns(struct user_namespace *user_ns,

	sem_init_ns(ns);
	shm_init_ns(ns);
	ns_tree_add(ns);

	return ns;

@@ -201,6 +203,7 @@ void put_ipc_ns(struct ipc_namespace *ns)
		mq_clear_sbinfo(ns);
		spin_unlock(&mq_lock);

		ns_tree_remove(ns);
		if (llist_add(&ns->mnt_llist, &free_ipc_list))
			schedule_work(&free_ipc_work);
	}
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
#include <linux/mount.h>
#include <linux/ipc_namespace.h>
#include <linux/rhashtable.h>
#include <linux/nstree.h>

#include <linux/uaccess.h>

@@ -148,6 +149,7 @@ void shm_exit_ns(struct ipc_namespace *ns)
static int __init ipc_ns_init(void)
{
	shm_init_ns(&init_ipc_ns);
	ns_tree_add(&init_ipc_ns);
	return 0;
}