Messages in this thread | | | Date | Wed, 04 Jun 2008 18:20:18 +0900 | From | KOSAKI Motohiro <> | Subject | Re: [PATCH] cgroup: list_for_each cleanup |
| |
> > - while (!list_empty(&release_list)) { > > + > > + list_for_each_entry_safe(cgrp, saved_cgrp, &release_list, > > + release_list) { > > char *argv[3], *envp[3]; > > int i; > > char *pathbuf; > > - struct cgroup *cgrp = list_entry(release_list.next, > > - struct cgroup, > > - release_list); > > + > > I don't think that list_for_each_entry_safe() is still safe when we've > dropped release_list_lock. saved_cgroup could end up pointing to a > cgroup that's freed while we're forking the usermode helper.
Ah, you are right. I'll drop this portion and resend patch.
Thanks.
| |