[patch -mm 3/7] add an identifier to nsproxy

From: Cedric Le Goater
Date: Tue Oct 17 2006 - 16:54:10 EST


This patch adds an identifier to nsproxy. The default init_ns_proxy
has identifier 0 and allocated nsproxies are given -1.

This identifier will be used by a new syscall sys_bind_ns.

Signed-off-by: Cedric Le Goater <clg@xxxxxxxxxx>
Cc: Kirill Korotaev <dev@xxxxxxxxxx>
Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Cc: Herbert Poetzl <herbert@xxxxxxxxxxxx>
Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxx>
---
include/linux/init_task.h | 1 +
include/linux/nsproxy.h | 1 +
kernel/nsproxy.c | 1 +
3 files changed, 3 insertions(+)

Index: 2.6.19-rc2-mm1/include/linux/init_task.h
===================================================================
--- 2.6.19-rc2-mm1.orig/include/linux/init_task.h
+++ 2.6.19-rc2-mm1/include/linux/init_task.h
@@ -72,6 +72,7 @@ extern struct nsproxy init_nsproxy;
#define INIT_NSPROXY(nsproxy) { \
.count = ATOMIC_INIT(1), \
.nslock = SPIN_LOCK_UNLOCKED, \
+ .id = 0, \
.uts_ns = &init_uts_ns, \
.mnt_ns = NULL, \
INIT_IPC_NS(ipc_ns) \
Index: 2.6.19-rc2-mm1/include/linux/nsproxy.h
===================================================================
--- 2.6.19-rc2-mm1.orig/include/linux/nsproxy.h
+++ 2.6.19-rc2-mm1/include/linux/nsproxy.h
@@ -23,6 +23,7 @@ struct ipc_namespace;
struct nsproxy {
atomic_t count;
spinlock_t nslock;
+ unsigned long id;
struct uts_namespace *uts_ns;
struct ipc_namespace *ipc_ns;
struct mnt_namespace *mnt_ns;
Index: 2.6.19-rc2-mm1/kernel/nsproxy.c
===================================================================
--- 2.6.19-rc2-mm1.orig/kernel/nsproxy.c
+++ 2.6.19-rc2-mm1/kernel/nsproxy.c
@@ -48,6 +48,7 @@ static inline struct nsproxy *clone_name
if (ns) {
memcpy(ns, orig, sizeof(struct nsproxy));
atomic_set(&ns->count, 1);
+ ns->id = -1;
}
return ns;
}

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/