• Tejun Heo's avatar
    Revert "cgroup: Drop task_lock(parent) on cgroup_fork()" · 9bb71308
    Tejun Heo authored
    This reverts commit 7e381b0e.
    
    The commit incorrectly assumed that fork path always performed
    threadgroup_change_begin/end() and depended on that for
    synchronization against task exit and cgroup migration paths instead
    of explicitly grabbing task_lock().
    
    threadgroup_change is not locked when forking a new process (as
    opposed to a new thread in the same process) and even if it were it
    wouldn't be effective as different processes use different threadgroup
    locks.
    
    Revert the incorrect optimization.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    LKML-Reference: <20121008020000.GB2575@localhost>
    Acked-by: default avatarLi Zefan <lizefan@huawei.com>
    Bitterly-Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Cc: stable@vger.kernel.org
    9bb71308
cgroup.c 147 KB