On Thu, Aug 11, 2022 at 1:07 AM Shakeel Butt <shakeelb@xxxxxxxxxx> wrote: > > On Wed, Aug 10, 2022 at 03:18:30PM +0000, Yafang Shao wrote: > > The memcg may be the root_mem_cgroup, in which case we shouldn't put it. > > No, it is ok to put root_mem_cgroup. css_put already handles the root > cgroups. > Ah, this commit log doesn't describe the issue clearly. I should improve it. The issue is that in bpf_map_get_memcg() it doesn't get the objcg if map->objcg is NULL (that can happen if the map belongs to the root memcg), so we shouldn't put the objcg if map->objcg is NULL neither in bpf_map_put_memcg(). Maybe the change below would be more reasonable ? +static void bpf_map_put_memcg(const struct bpf_map *map, struct mem_cgroup *memcg) +{ + if (map->objcg) + mem_cgroup_put(memcg); +} -- Regards Yafang