summaryrefslogtreecommitdiff
path: root/include/linux/nsproxy.h
diff options
context:
space:
mode:
authorJerome Brunet <jbrunet@baylibre.com>2024-07-29 16:32:02 +0200
committerJerome Brunet <jbrunet@baylibre.com>2024-07-29 16:32:02 +0200
commit66e72a01b60ae6950ddbb3585fdc1424d303e14b (patch)
tree05789274ef25cb5d08b99d1797e7760047469685 /include/linux/nsproxy.h
parent3d0e8b6edd6b08f72e07e1230f371f6ca93531e4 (diff)
parent8400291e289ee6b2bf9779ff1c83a291501f017b (diff)
Merge tag 'v6.11-rc1' into clk-meson-next
Linux 6.11-rc1
Diffstat (limited to 'include/linux/nsproxy.h')
-rw-r--r--include/linux/nsproxy.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/nsproxy.h b/include/linux/nsproxy.h
index 5601d14e2886..dab6a1734a22 100644
--- a/include/linux/nsproxy.h
+++ b/include/linux/nsproxy.h
@@ -42,6 +42,17 @@ struct nsproxy {
};
extern struct nsproxy init_nsproxy;
+#define to_ns_common(__ns) \
+ _Generic((__ns), \
+ struct cgroup_namespace *: &(__ns->ns), \
+ struct ipc_namespace *: &(__ns->ns), \
+ struct net *: &(__ns->ns), \
+ struct pid_namespace *: &(__ns->ns), \
+ struct mnt_namespace *: &(__ns->ns), \
+ struct time_namespace *: &(__ns->ns), \
+ struct user_namespace *: &(__ns->ns), \
+ struct uts_namespace *: &(__ns->ns))
+
/*
* A structure to encompass all bits needed to install
* a partial or complete new set of namespaces.
@@ -112,4 +123,6 @@ static inline void get_nsproxy(struct nsproxy *ns)
refcount_inc(&ns->count);
}
+DEFINE_FREE(put_nsproxy, struct nsproxy *, if (_T) put_nsproxy(_T))
+
#endif