In pids subsystem, pids_can_attach never returns an error. Therefore, pids_cancel_attach is unnecessary and is never called. As a result, it should be removed. Signed-off-by: Chen Ridong <chenridong@xxxxxxxxxx> --- kernel/cgroup/pids.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/kernel/cgroup/pids.c b/kernel/cgroup/pids.c index 0e5ec7d59b4d..a7a719495547 100644 --- a/kernel/cgroup/pids.c +++ b/kernel/cgroup/pids.c @@ -211,24 +211,6 @@ static int pids_can_attach(struct cgroup_taskset *tset) return 0; } -static void pids_cancel_attach(struct cgroup_taskset *tset) -{ - struct task_struct *task; - struct cgroup_subsys_state *dst_css; - - cgroup_taskset_for_each(task, dst_css, tset) { - struct pids_cgroup *pids = css_pids(dst_css); - struct cgroup_subsys_state *old_css; - struct pids_cgroup *old_pids; - - old_css = task_css(task, pids_cgrp_id); - old_pids = css_pids(old_css); - - pids_charge(old_pids, 1); - pids_uncharge(pids, 1); - } -} - /* * task_css_check(true) in pids_can_fork() and pids_cancel_fork() relies * on cgroup_threadgroup_change_begin() held by the copy_process(). @@ -375,7 +357,6 @@ struct cgroup_subsys pids_cgrp_subsys = { .css_alloc = pids_css_alloc, .css_free = pids_css_free, .can_attach = pids_can_attach, - .cancel_attach = pids_cancel_attach, .can_fork = pids_can_fork, .cancel_fork = pids_cancel_fork, .release = pids_release, -- 2.34.1