make proc_ns_operations work with struct ns_common * instead of void *
We can do that now. And kill ->inum(), while we are at it - all instances are identical. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -154,7 +154,7 @@ static inline struct ipc_namespace *to_ipc_ns(struct ns_common *ns)
|
||||
return container_of(ns, struct ipc_namespace, ns);
|
||||
}
|
||||
|
||||
static void *ipcns_get(struct task_struct *task)
|
||||
static struct ns_common *ipcns_get(struct task_struct *task)
|
||||
{
|
||||
struct ipc_namespace *ns = NULL;
|
||||
struct nsproxy *nsproxy;
|
||||
@@ -168,12 +168,12 @@ static void *ipcns_get(struct task_struct *task)
|
||||
return ns ? &ns->ns : NULL;
|
||||
}
|
||||
|
||||
static void ipcns_put(void *ns)
|
||||
static void ipcns_put(struct ns_common *ns)
|
||||
{
|
||||
return put_ipc_ns(to_ipc_ns(ns));
|
||||
}
|
||||
|
||||
static int ipcns_install(struct nsproxy *nsproxy, void *new)
|
||||
static int ipcns_install(struct nsproxy *nsproxy, struct ns_common *new)
|
||||
{
|
||||
struct ipc_namespace *ns = to_ipc_ns(new);
|
||||
if (!ns_capable(ns->user_ns, CAP_SYS_ADMIN) ||
|
||||
@@ -187,16 +187,10 @@ static int ipcns_install(struct nsproxy *nsproxy, void *new)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int ipcns_inum(void *vp)
|
||||
{
|
||||
return ((struct ns_common *)vp)->inum;
|
||||
}
|
||||
|
||||
const struct proc_ns_operations ipcns_operations = {
|
||||
.name = "ipc",
|
||||
.type = CLONE_NEWIPC,
|
||||
.get = ipcns_get,
|
||||
.put = ipcns_put,
|
||||
.install = ipcns_install,
|
||||
.inum = ipcns_inum,
|
||||
};
|
||||
|
Reference in New Issue
Block a user