aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/proc_ns.h2
-rw-r--r--include/linux/user_namespace.h7
2 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/proc_ns.h b/include/linux/proc_ns.h
index de0e7719d4c5..12cb8bd81d2d 100644
--- a/include/linux/proc_ns.h
+++ b/include/linux/proc_ns.h
@@ -18,6 +18,8 @@ struct proc_ns_operations {
18 struct ns_common *(*get)(struct task_struct *task); 18 struct ns_common *(*get)(struct task_struct *task);
19 void (*put)(struct ns_common *ns); 19 void (*put)(struct ns_common *ns);
20 int (*install)(struct nsproxy *nsproxy, struct ns_common *ns); 20 int (*install)(struct nsproxy *nsproxy, struct ns_common *ns);
21 struct user_namespace *(*owner)(struct ns_common *ns);
22 struct ns_common *(*get_parent)(struct ns_common *ns);
21}; 23};
22 24
23extern const struct proc_ns_operations netns_operations; 25extern const struct proc_ns_operations netns_operations;
diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
index 30ffe10cda18..eb209d4523f5 100644
--- a/include/linux/user_namespace.h
+++ b/include/linux/user_namespace.h
@@ -106,6 +106,8 @@ extern ssize_t proc_setgroups_write(struct file *, const char __user *, size_t,
106extern int proc_setgroups_show(struct seq_file *m, void *v); 106extern int proc_setgroups_show(struct seq_file *m, void *v);
107extern bool userns_may_setgroups(const struct user_namespace *ns); 107extern bool userns_may_setgroups(const struct user_namespace *ns);
108extern bool current_in_userns(const struct user_namespace *target_ns); 108extern bool current_in_userns(const struct user_namespace *target_ns);
109
110struct ns_common *ns_get_owner(struct ns_common *ns);
109#else 111#else
110 112
111static inline struct user_namespace *get_user_ns(struct user_namespace *ns) 113static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
@@ -139,6 +141,11 @@ static inline bool current_in_userns(const struct user_namespace *target_ns)
139{ 141{
140 return true; 142 return true;
141} 143}
144
145static inline struct ns_common *ns_get_owner(struct ns_common *ns)
146{
147 return ERR_PTR(-EPERM);
148}
142#endif 149#endif
143 150
144#endif /* _LINUX_USER_H */ 151#endif /* _LINUX_USER_H */