aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/cgroup.h4
-rw-r--r--kernel/cgroup.c5
-rw-r--r--kernel/exit.c2
3 files changed, 5 insertions, 6 deletions
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
index 43d1ed30bae3..c2515851c1aa 100644
--- a/include/linux/cgroup.h
+++ b/include/linux/cgroup.h
@@ -33,7 +33,7 @@ extern int cgroup_init_early(void);
33extern int cgroup_init(void); 33extern int cgroup_init(void);
34extern void cgroup_fork(struct task_struct *p); 34extern void cgroup_fork(struct task_struct *p);
35extern void cgroup_post_fork(struct task_struct *p); 35extern void cgroup_post_fork(struct task_struct *p);
36extern void cgroup_exit(struct task_struct *p, int run_callbacks); 36extern void cgroup_exit(struct task_struct *p);
37extern int cgroupstats_build(struct cgroupstats *stats, 37extern int cgroupstats_build(struct cgroupstats *stats,
38 struct dentry *dentry); 38 struct dentry *dentry);
39 39
@@ -843,7 +843,7 @@ static inline int cgroup_init_early(void) { return 0; }
843static inline int cgroup_init(void) { return 0; } 843static inline int cgroup_init(void) { return 0; }
844static inline void cgroup_fork(struct task_struct *p) {} 844static inline void cgroup_fork(struct task_struct *p) {}
845static inline void cgroup_post_fork(struct task_struct *p) {} 845static inline void cgroup_post_fork(struct task_struct *p) {}
846static inline void cgroup_exit(struct task_struct *p, int callbacks) {} 846static inline void cgroup_exit(struct task_struct *p) {}
847 847
848static inline int cgroupstats_build(struct cgroupstats *stats, 848static inline int cgroupstats_build(struct cgroupstats *stats,
849 struct dentry *dentry) 849 struct dentry *dentry)
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 60fd6f1f6d4e..f7f94322d312 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -4416,7 +4416,6 @@ void cgroup_post_fork(struct task_struct *child)
4416/** 4416/**
4417 * cgroup_exit - detach cgroup from exiting task 4417 * cgroup_exit - detach cgroup from exiting task
4418 * @tsk: pointer to task_struct of exiting process 4418 * @tsk: pointer to task_struct of exiting process
4419 * @run_callback: run exit callbacks?
4420 * 4419 *
4421 * Description: Detach cgroup from @tsk and release it. 4420 * Description: Detach cgroup from @tsk and release it.
4422 * 4421 *
@@ -4433,7 +4432,7 @@ void cgroup_post_fork(struct task_struct *child)
4433 * init_css_set refcnting. init_css_set never goes away and we can't race 4432 * init_css_set refcnting. init_css_set never goes away and we can't race
4434 * with migration path - PF_EXITING is visible to migration path. 4433 * with migration path - PF_EXITING is visible to migration path.
4435 */ 4434 */
4436void cgroup_exit(struct task_struct *tsk, int run_callbacks) 4435void cgroup_exit(struct task_struct *tsk)
4437{ 4436{
4438 struct cgroup_subsys *ss; 4437 struct cgroup_subsys *ss;
4439 struct css_set *cset; 4438 struct css_set *cset;
@@ -4455,7 +4454,7 @@ void cgroup_exit(struct task_struct *tsk, int run_callbacks)
4455 cset = task_css_set(tsk); 4454 cset = task_css_set(tsk);
4456 RCU_INIT_POINTER(tsk->cgroups, &init_css_set); 4455 RCU_INIT_POINTER(tsk->cgroups, &init_css_set);
4457 4456
4458 if (run_callbacks && need_forkexit_callback) { 4457 if (need_forkexit_callback) {
4459 /* see cgroup_post_fork() for details */ 4458 /* see cgroup_post_fork() for details */
4460 for_each_subsys(ss, i) { 4459 for_each_subsys(ss, i) {
4461 if (ss->exit) { 4460 if (ss->exit) {
diff --git a/kernel/exit.c b/kernel/exit.c
index 1e77fc645317..6480d1c85d7a 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -797,7 +797,7 @@ void do_exit(long code)
797 */ 797 */
798 perf_event_exit_task(tsk); 798 perf_event_exit_task(tsk);
799 799
800 cgroup_exit(tsk, 1); 800 cgroup_exit(tsk);
801 801
802 if (group_dead) 802 if (group_dead)
803 disassociate_ctty(1); 803 disassociate_ctty(1);