On Fri, Sep 11, 2020 at 9:43 AM Nicolas Rybowski <nicolas.rybowski@xxxxxxxxxxxx> wrote: > > It has been observed that the kernel sockets created for the subflows > (except the first one) are not in the same cgroup as their parents. > That's because the additional subflows are created by kernel workers. > > This is a problem with eBPF programs attached to the parent's > cgroup won't be executed for the children. But also with any other features > of CGroup linked to a sk. > > This patch fixes this behaviour. > > As the subflow sockets are created by the kernel, we can't use > 'mem_cgroup_sk_alloc' because of the current context being the one of the > kworker. This is why we have to do low level memcg manipulation, if > required. > > Suggested-by: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx> > Suggested-by: Paolo Abeni <pabeni@xxxxxxxxxx> > Acked-by: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx> > Reviewed-by: Mat Martineau <mathew.j.martineau@xxxxxxxxxxxxxxx> > Signed-off-by: Nicolas Rybowski <nicolas.rybowski@xxxxxxxxxxxx> Acked-by: Song Liu <songliubraving@xxxxxx> [...]