On 10/29, Kirill Tkhai wrote: > > On 29.10.2014 01:52, Oleg Nesterov wrote: > > > And cgroup_task_migrate() can free ->cgroups via call_rcu(). Of course, > > in practice raw_spin_lock_irq() should also act as rcu_read_lock(), but > > we should not rely on implementation details. > > Do you mean cgroup_task_migrate()->put_css_set_locked()? It's not > possible there, because old_cset->refcount is lager than 1. We increment > it in cgroup_migrate_add_src() and real freeing happens in > cgroup_migrate_finish(). These functions are around task_migrate(), they > are pair brackets.
Ah, I see. > If we've got old_cset in > cgroup_post_fork()->sched_move_task(), the right sched_task_group will > be installed by attach->sched_move_task(). Yes, yes, this part is clear. OK, I think the patch is fine then. Thanks! Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/