[Devel] [PATCH RH7 07/32] Revert "kernel: add a helper to get an owning user namespace for a namespace"
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Mon Jun 8 20:05:37 MSK 2020
This reverts commit 93dca538d184c711212f44ac92791772a56a6617.
We switch from procfs ns-files to nsfs ones, so we will apply nsfs
version of the patch instead.
https://jira.sw.ru/browse/PSBM-102357
Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
---
fs/namespace.c | 7 -------
include/linux/proc_ns.h | 1 -
include/linux/user_namespace.h | 10 ----------
ipc/namespace.c | 7 -------
kernel/pid_namespace.c | 8 --------
kernel/user_namespace.c | 25 -------------------------
kernel/utsname.c | 7 -------
net/core/net_namespace.c | 7 -------
8 files changed, 72 deletions(-)
diff --git a/fs/namespace.c b/fs/namespace.c
index ac830373a7d6..623466063ff2 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -3914,12 +3914,6 @@ static unsigned int mntns_inum(void *ns)
return mnt_ns->proc_inum;
}
-static struct user_namespace *mntns_owner(void *ns)
-{
- struct mnt_namespace *mnt_ns = ns;
- return mnt_ns->user_ns;
-}
-
const struct proc_ns_operations mntns_operations = {
.name = "mnt",
.type = CLONE_NEWNS,
@@ -3927,5 +3921,4 @@ const struct proc_ns_operations mntns_operations = {
.put = mntns_put,
.install = mntns_install,
.inum = mntns_inum,
- .owner = mntns_owner,
};
diff --git a/include/linux/proc_ns.h b/include/linux/proc_ns.h
index 3f71f8e1aa18..8deba57cbb45 100644
--- a/include/linux/proc_ns.h
+++ b/include/linux/proc_ns.h
@@ -16,7 +16,6 @@ struct proc_ns_operations {
void (*put)(void *ns);
int (*install)(struct nsproxy *nsproxy, void *ns);
unsigned int (*inum)(void *ns);
- struct user_namespace *(*owner)(void *ns);
};
struct proc_ns {
diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
index 7d3eb914369e..e858abca6267 100644
--- a/include/linux/user_namespace.h
+++ b/include/linux/user_namespace.h
@@ -27,8 +27,6 @@ struct uid_gid_map { /* 64 bytes -- 1 cache line */
struct ucounts;
-struct proc_ns_operations;
-
enum ucount_type {
UCOUNT_USER_NAMESPACES,
UCOUNT_PID_NAMESPACES,
@@ -121,8 +119,6 @@ extern ssize_t proc_setgroups_write(struct file *, const char __user *, size_t,
extern int proc_setgroups_show(struct seq_file *m, void *v);
extern bool userns_may_setgroups(const struct user_namespace *ns);
extern bool current_in_userns(const struct user_namespace *target_ns);
-
-void *ns_get_owner(void *ns, const struct proc_ns_operations *ns_ops);
#else
static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
@@ -156,12 +152,6 @@ static inline bool current_in_userns(const struct user_namespace *target_ns)
{
return true;
}
-
-static inline void *ns_get_owner(void *ns,
- const struct proc_ns_operations *ns_ops)
-{
- return ERR_PTR(-EPERM);
-}
#endif
#endif /* _LINUX_USER_H */
diff --git a/ipc/namespace.c b/ipc/namespace.c
index 2945f1e799b5..41bbfaecc99f 100644
--- a/ipc/namespace.c
+++ b/ipc/namespace.c
@@ -191,12 +191,6 @@ static unsigned int ipcns_inum(void *vp)
return ns->proc_inum;
}
-static struct user_namespace *ipcns_owner(void *ns)
-{
- struct ipc_namespace *ipc_ns = ns;
- return ipc_ns->user_ns;
-}
-
const struct proc_ns_operations ipcns_operations = {
.name = "ipc",
.type = CLONE_NEWIPC,
@@ -204,5 +198,4 @@ const struct proc_ns_operations ipcns_operations = {
.put = ipcns_put,
.install = ipcns_install,
.inum = ipcns_inum,
- .owner = ipcns_owner,
};
diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
index 1bab842a8e1e..3728139e7e54 100644
--- a/kernel/pid_namespace.c
+++ b/kernel/pid_namespace.c
@@ -420,12 +420,6 @@ static unsigned int pidns_inum(void *ns)
return pid_ns->proc_inum;
}
-static struct user_namespace *pidns_owner(void *ns)
-{
- struct pid_namespace *pid_ns = ns;
- return pid_ns->user_ns;
-}
-
const struct proc_ns_operations pidns_operations = {
.name = "pid",
.type = CLONE_NEWPID,
@@ -433,7 +427,6 @@ const struct proc_ns_operations pidns_operations = {
.put = pidns_put,
.install = pidns_install,
.inum = pidns_inum,
- .owner = pidns_owner,
};
const struct proc_ns_operations pidns_for_children_operations = {
@@ -444,7 +437,6 @@ const struct proc_ns_operations pidns_for_children_operations = {
.put = pidns_put,
.install = pidns_install,
.inum = pidns_inum,
- .owner = pidns_owner,
};
static __init int pid_namespaces_init(void)
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
index 6c4244bcebfe..7445f1ead437 100644
--- a/kernel/user_namespace.c
+++ b/kernel/user_namespace.c
@@ -1079,30 +1079,6 @@ static unsigned int userns_inum(void *ns)
}
EXPORT_SYMBOL(current_in_userns);
-void *ns_get_owner(void *ns, const struct proc_ns_operations *ns_ops)
-{
- struct user_namespace *my_user_ns = current_user_ns();
- struct user_namespace *owner, *p;
-
- /* See if the owner is in the current user namespace */
- owner = p = ns_ops->owner(ns);
- for (;;) {
- if (!p)
- return ERR_PTR(-EPERM);
- if (p == my_user_ns)
- break;
- p = p->parent;
- }
-
- return get_user_ns(owner);
-}
-
-static struct user_namespace *userns_owner(void *ns)
-{
- struct user_namespace *user_ns = ns;
- return user_ns->parent;
-}
-
const struct proc_ns_operations userns_operations = {
.name = "user",
.type = CLONE_NEWUSER,
@@ -1110,7 +1086,6 @@ const struct proc_ns_operations userns_operations = {
.put = userns_put,
.install = userns_install,
.inum = userns_inum,
- .owner = userns_owner,
};
static __init int user_namespaces_init(void)
diff --git a/kernel/utsname.c b/kernel/utsname.c
index 1414b9e57822..ec7adcdca386 100644
--- a/kernel/utsname.c
+++ b/kernel/utsname.c
@@ -184,12 +184,6 @@ static unsigned int utsns_inum(void *vp)
return ns->proc_inum;
}
-static struct user_namespace *utsns_owner(void *ns)
-{
- struct uts_namespace *uts_ns = ns;
- return uts_ns->user_ns;
-}
-
const struct proc_ns_operations utsns_operations = {
.name = "uts",
.type = CLONE_NEWUTS,
@@ -197,5 +191,4 @@ const struct proc_ns_operations utsns_operations = {
.put = utsns_put,
.install = utsns_install,
.inum = utsns_inum,
- .owner = utsns_owner,
};
diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c
index 0ecd5226ce9a..13b8897cbec4 100644
--- a/net/core/net_namespace.c
+++ b/net/core/net_namespace.c
@@ -1088,12 +1088,6 @@ static unsigned int netns_inum(void *ns)
return net->proc_inum;
}
-static struct user_namespace *netns_owner(void *ns)
-{
- struct net *net_ns = ns;
- return net_ns->user_ns;
-}
-
const struct proc_ns_operations netns_operations = {
.name = "net",
.type = CLONE_NEWNET,
@@ -1101,6 +1095,5 @@ const struct proc_ns_operations netns_operations = {
.put = netns_put,
.install = netns_install,
.inum = netns_inum,
- .owner = netns_owner,
};
#endif
--
2.24.1
More information about the Devel
mailing list