On 05/10, Christian Brauner wrote: > > @@ -2102,7 +2102,7 @@ static __latent_entropy struct task_struct > *copy_process( > */ > retval = cgroup_can_fork(p); > if (retval) > - goto bad_fork_put_pidfd; > + goto bad_fork_cgroup_threadgroup_change_end; > > /* > * From this point on we must avoid any synchronous user-space > @@ -2217,11 +2217,12 @@ static __latent_entropy struct task_struct > *copy_process( > spin_unlock(¤t->sighand->siglock); > write_unlock_irq(&tasklist_lock); > cgroup_cancel_fork(p); > +bad_fork_cgroup_threadgroup_change_end: > + cgroup_threadgroup_change_end(current); > bad_fork_put_pidfd: > if (clone_flags & CLONE_PIDFD) > ksys_close(pidfd); > bad_fork_free_pid: > - cgroup_threadgroup_change_end(current); > if (pid != &init_struct_pid) > free_pid(pid); > bad_fork_cleanup_thread:
Reviewed-by: Oleg Nesterov <[email protected]>

