Messages in this thread | | | Date | Mon, 15 Apr 2013 11:49:57 +0800 | From | Li Zefan <> | Subject | Re: [PATCH 4/4] cgroup: implement task_cgroup_path_from_hierarchy() |
| |
On 2013/4/15 11:46, Tejun Heo wrote: > On Mon, Apr 15, 2013 at 11:43:15AM +0800, Li Zefan wrote: >>> +int task_cgroup_path_from_hierarchy(struct task_struct *task, int hierarchy_id, >>> + char *buf, size_t buflen) >>> +{ >>> + struct cgroupfs_root *root; >>> + struct cgroup *cgrp = NULL; >>> + int ret = -ENOENT; >>> + >>> + mutex_lock(&cgroup_mutex); >>> + >>> + root = idr_find(&cgroup_hierarchy_idr, hierarchy_id); >>> + if (root) { >>> + cgrp = task_cgroup_from_root(task, root); >> >> task_cgroup_from_root() will never return NULL, and there's a BUG_ON(!res) in it. > > @hierarchy_id may come from userland, so we probably should update > task_cgroup_from_root() to return NULL if the id is invalid. Will add > a patch. >
But if id is invalid, idr_find() will return NULL. As long as root is not NULL, task_cgroup_from_root() will always return a valid cgroup.
| |