Message ID | 20230502133847.14570-2-mkoutny@suse.com (mailing list archive) |
---|---|
State | Mainlined, archived |
Headers | show |
Series | Rework locking when rendering mountinfo cgroup paths | expand |
On 5/2/23 09:38, Michal Koutný wrote: > There is no current user and there are alternative methods to obtain > task's cgroup path. > > Signed-off-by: Michal Koutný <mkoutny@suse.com> > --- > kernel/cgroup/cgroup.c | 39 --------------------------------------- > 1 file changed, 39 deletions(-) > > diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c > index 625d7483951c..55e5f0110e3b 100644 > --- a/kernel/cgroup/cgroup.c > +++ b/kernel/cgroup/cgroup.c > @@ -2378,45 +2378,6 @@ int cgroup_path_ns(struct cgroup *cgrp, char *buf, size_t buflen, > } > EXPORT_SYMBOL_GPL(cgroup_path_ns); > > -/** > - * task_cgroup_path - cgroup path of a task in the first cgroup hierarchy > - * @task: target task > - * @buf: the buffer to write the path into > - * @buflen: the length of the buffer > - * > - * Determine @task's cgroup on the first (the one with the lowest non-zero > - * hierarchy_id) cgroup hierarchy and copy its path into @buf. This > - * function grabs cgroup_mutex and shouldn't be used inside locks used by > - * cgroup controller callbacks. > - * > - * Return value is the same as kernfs_path(). > - */ > -int task_cgroup_path(struct task_struct *task, char *buf, size_t buflen) > -{ > - struct cgroup_root *root; > - struct cgroup *cgrp; > - int hierarchy_id = 1; > - int ret; > - > - cgroup_lock(); > - spin_lock_irq(&css_set_lock); > - > - root = idr_get_next(&cgroup_hierarchy_idr, &hierarchy_id); > - > - if (root) { > - cgrp = task_cgroup_from_root(task, root); > - ret = cgroup_path_ns_locked(cgrp, buf, buflen, &init_cgroup_ns); > - } else { > - /* if no hierarchy exists, everyone is in "/" */ > - ret = strscpy(buf, "/", buflen); > - } > - > - spin_unlock_irq(&css_set_lock); > - cgroup_unlock(); > - return ret; > -} > -EXPORT_SYMBOL_GPL(task_cgroup_path); > - > /** > * cgroup_attach_lock - Lock for ->attach() > * @lock_threadgroup: whether to down_write cgroup_threadgroup_rwsem I went to a few of earlier Linux version down to v3.11. task_cgroup_path() doesn't seems to have any users in my few attempts. Anyway, Reviewed-by: Waiman Long <longman@redhat.com>
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index 625d7483951c..55e5f0110e3b 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -2378,45 +2378,6 @@ int cgroup_path_ns(struct cgroup *cgrp, char *buf, size_t buflen, } EXPORT_SYMBOL_GPL(cgroup_path_ns); -/** - * task_cgroup_path - cgroup path of a task in the first cgroup hierarchy - * @task: target task - * @buf: the buffer to write the path into - * @buflen: the length of the buffer - * - * Determine @task's cgroup on the first (the one with the lowest non-zero - * hierarchy_id) cgroup hierarchy and copy its path into @buf. This - * function grabs cgroup_mutex and shouldn't be used inside locks used by - * cgroup controller callbacks. - * - * Return value is the same as kernfs_path(). - */ -int task_cgroup_path(struct task_struct *task, char *buf, size_t buflen) -{ - struct cgroup_root *root; - struct cgroup *cgrp; - int hierarchy_id = 1; - int ret; - - cgroup_lock(); - spin_lock_irq(&css_set_lock); - - root = idr_get_next(&cgroup_hierarchy_idr, &hierarchy_id); - - if (root) { - cgrp = task_cgroup_from_root(task, root); - ret = cgroup_path_ns_locked(cgrp, buf, buflen, &init_cgroup_ns); - } else { - /* if no hierarchy exists, everyone is in "/" */ - ret = strscpy(buf, "/", buflen); - } - - spin_unlock_irq(&css_set_lock); - cgroup_unlock(); - return ret; -} -EXPORT_SYMBOL_GPL(task_cgroup_path); - /** * cgroup_attach_lock - Lock for ->attach() * @lock_threadgroup: whether to down_write cgroup_threadgroup_rwsem
There is no current user and there are alternative methods to obtain task's cgroup path. Signed-off-by: Michal Koutný <mkoutny@suse.com> --- kernel/cgroup/cgroup.c | 39 --------------------------------------- 1 file changed, 39 deletions(-)