From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7D586C25B0D for ; Thu, 11 Aug 2022 15:47:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BDCAD8E0001; Thu, 11 Aug 2022 11:47:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B64646B0074; Thu, 11 Aug 2022 11:47:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9DE8C8E0001; Thu, 11 Aug 2022 11:47:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8F4C16B0073 for ; Thu, 11 Aug 2022 11:47:36 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5830AABA53 for ; Thu, 11 Aug 2022 15:47:36 +0000 (UTC) X-FDA: 79787741712.30.AB3732A Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) by imf27.hostedemail.com (Postfix) with ESMTP id DBD1340073 for ; Thu, 11 Aug 2022 15:47:35 +0000 (UTC) Received: by mail-pl1-f202.google.com with SMTP id p6-20020a170902e74600b0016f3f326f62so11468624plf.16 for ; Thu, 11 Aug 2022 08:47:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc; bh=IuUmi8yK7ttP9DMj21dovzQZGBY13PHX+qXyVjOX3zQ=; b=cLRlgW077jVAPqEiOj0qYsBikpH8O3puBBLslNGoTJgjF+b6BVpcKOPNHdjwOf1qhd WYFRk5UNOu6AaulRni5vLlf7GW5zVXomALlhHClxvCP5XwkyY+3FIvChzlzJWIKHISej 3dJtNuIgl6TunDKCi65jDWXH6efqru55AYzfUf+yd3/4nugqcTGRPMaYGmICdKi40VZS eYVqxbDXxqtewL3hR5/7q/aMFBblbiJjNIeHXPa0br4ciHHZZhVqySwVQYNBNeu4g32I 3/JPvv40f1szRuqKM7+juNmXs1XeHM1Fkpuw41YVFQv78GctEgqO8glWf/DVbAOYA1t5 V6EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc; bh=IuUmi8yK7ttP9DMj21dovzQZGBY13PHX+qXyVjOX3zQ=; b=feo+ZzsPzth1swaSCDY/v4wKhIbUL4K0dERbWDbMHvncCFu4KIzPSnedo5V1Shbfub QfXpGHA7KRV3U21ME4EL4lNBY3QftMhBAdl2g7v8uKFG4cAat3YwJWRd+CSh0TA78xMX WaMTAtv7svZ9imscgEZqKNR855NFGR/yU8bWeOcD1Et6p72++Am4vPrTojnX4hSB9CQg iX/NCkOV9LeRbvq6FD5NIgy96s+IJp821pJYYQezeTHSXItY4RQRaN7jzTTIt1liRmB/ MuQfotUahGOjkUoCjFD7h1+X/psyIhXCU9yflH2PYrWQEkGy6q95G6V8LslBl6vZGHwx JQ7Q== X-Gm-Message-State: ACgBeo0AWbGipcAP/G9cs0+LOaBAwUgJudtHKZJ9RERbXdw/UWm8a1ZH 7GwoPNYdUXZRgKtVkqMtANHgb8VXYkeedQ== X-Google-Smtp-Source: AA6agR5jU6SuRrnL1iSm+IArLzseac+oOI/Drs50eHZDtXnirQjPsSD2P965Ps18qhwgee7fgN00JA/weOPVFA== X-Received: from shakeelb.c.googlers.com ([fda3:e722:ac3:cc00:20:ed76:c0a8:28b]) (user=shakeelb job=sendgmr) by 2002:aa7:8096:0:b0:52d:d5f6:2ea6 with SMTP id v22-20020aa78096000000b0052dd5f62ea6mr32956638pff.0.1660232854787; Thu, 11 Aug 2022 08:47:34 -0700 (PDT) Date: Thu, 11 Aug 2022 15:47:31 +0000 In-Reply-To: Message-Id: <20220811154731.3smhom6v4qy2u6rd@google.com> Mime-Version: 1.0 References: <20220810151840.16394-1-laoar.shao@gmail.com> <20220810151840.16394-6-laoar.shao@gmail.com> <20220810170706.ikyrsuzupjwt65h7@google.com> Subject: Re: [PATCH bpf-next 05/15] bpf: Fix incorrect mem_cgroup_put From: Shakeel Butt To: Yafang Shao Cc: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin Lau , Song Liu , Yonghong Song , john fastabend , KP Singh , Stanislav Fomichev , Hao Luo , jolsa@kernel.org, Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Andrew Morton , netdev , bpf , Linux MM Content-Type: text/plain; charset="us-ascii" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1660232856; a=rsa-sha256; cv=none; b=XjHWIA+HdZlrCI3gCBIhEgM2/X3X3LYPQxTm8dlhQ+U8FkLIQcFi78PXcpoBVJoGx9hC9d 8Zmg80syAYfBhmr798zsINQ3qdarXNzET1lRM1WhlWS2DPWPvHTFmpfbSzPzzmccAqIyx2 LuAJR73uewYrBibvtrSXPEuatqoFOcY= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=cLRlgW07; spf=pass (imf27.hostedemail.com: domain of 3liT1YggKCNEF4x7118y3BB381.zB985AHK-997Ixz7.BE3@flex--shakeelb.bounces.google.com designates 209.85.214.202 as permitted sender) smtp.mailfrom=3liT1YggKCNEF4x7118y3BB381.zB985AHK-997Ixz7.BE3@flex--shakeelb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1660232856; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=IuUmi8yK7ttP9DMj21dovzQZGBY13PHX+qXyVjOX3zQ=; b=ccXJJGfIIYYs8nIZbcWKRSNkwVjgy5naBuJedb8rbeT3YXjN0Y6h2s8j3SEqbZTKsw26vG 5OimjqVD/BXbHBl1R9yZ5dQ2l23CBIzSQbThFkHlBGVmeHWAZtTMkKMm857G2QceysolDU PGf3bmZVMW6UxX/46UJvUuetjGqZ3pw= X-Stat-Signature: wxdoz7s4trzzhgfe1p3iz33hf9xqb5ar X-Rspamd-Queue-Id: DBD1340073 X-Rspam-User: X-Rspamd-Server: rspam03 Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=cLRlgW07; spf=pass (imf27.hostedemail.com: domain of 3liT1YggKCNEF4x7118y3BB381.zB985AHK-997Ixz7.BE3@flex--shakeelb.bounces.google.com designates 209.85.214.202 as permitted sender) smtp.mailfrom=3liT1YggKCNEF4x7118y3BB381.zB985AHK-997Ixz7.BE3@flex--shakeelb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com X-HE-Tag: 1660232855-910985 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Aug 11, 2022 at 10:49:13AM +0800, Yafang Shao wrote: > On Thu, Aug 11, 2022 at 1:07 AM Shakeel Butt 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(). Sorry I am still not understanding. We are not 'getting' objcg in bpf_map_get_memcg(). We are 'getting' memcg from map->objcg and if that is NULL the function is returning root memcg and putting root memcg is totally fine. Or are you saying that root_mem_cgroup is NULL? > 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