From: Cedric Le Goater This is required to remove a header dependency in sched.h which breaks next patches. Signed-off-by: Cedric Le Goater Signed-off-by: Serge E. Hallyn Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton --- include/linux/nsproxy.h | 15 ++++----------- kernel/nsproxy.c | 11 +++++++++++ 2 files changed, 15 insertions(+), 11 deletions(-) diff -puN include/linux/nsproxy.h~nsproxy-externalizes-exit_task_namespaces include/linux/nsproxy.h --- a/include/linux/nsproxy.h~nsproxy-externalizes-exit_task_namespaces +++ a/include/linux/nsproxy.h @@ -2,7 +2,8 @@ #define _LINUX_NSPROXY_H #include -#include + +struct task_struct; struct mnt_namespace; struct uts_namespace; @@ -43,14 +44,6 @@ static inline void put_nsproxy(struct ns } } -static inline void exit_task_namespaces(struct task_struct *p) -{ - struct nsproxy *ns = p->nsproxy; - if (ns) { - task_lock(p); - p->nsproxy = NULL; - task_unlock(p); - put_nsproxy(ns); - } -} +extern void exit_task_namespaces(struct task_struct *p); + #endif diff -puN kernel/nsproxy.c~nsproxy-externalizes-exit_task_namespaces kernel/nsproxy.c --- a/kernel/nsproxy.c~nsproxy-externalizes-exit_task_namespaces +++ a/kernel/nsproxy.c @@ -36,6 +36,17 @@ void get_task_namespaces(struct task_str } } +void exit_task_namespaces(struct task_struct *p) +{ + struct nsproxy *ns = p->nsproxy; + if (ns) { + task_lock(p); + p->nsproxy = NULL; + task_unlock(p); + put_nsproxy(ns); + } +} + /* * creates a copy of "orig" with refcount 1. * This does not grab references to the contained namespaces, _