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 91572C25B06 for ; Fri, 12 Aug 2022 00:32:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 26C506B0073; Thu, 11 Aug 2022 20:32:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F6058E0001; Thu, 11 Aug 2022 20:32:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 06E6F6B0078; Thu, 11 Aug 2022 20:32:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E58916B0073 for ; Thu, 11 Aug 2022 20:32:30 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id ACB02819D9 for ; Fri, 12 Aug 2022 00:32:30 +0000 (UTC) X-FDA: 79789064460.28.00CD89E Received: from mail-vs1-f54.google.com (mail-vs1-f54.google.com [209.85.217.54]) by imf08.hostedemail.com (Postfix) with ESMTP id 597EB1601A4 for ; Fri, 12 Aug 2022 00:32:30 +0000 (UTC) Received: by mail-vs1-f54.google.com with SMTP id 66so19915569vse.4 for ; Thu, 11 Aug 2022 17:32:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=03fjnh1xwewL0u689e6AC8d7EfZpcbmYwThbeEIF6Rs=; b=L9BIC0FSsu2fW5qW8A9HJmyxpMSSNuMf4263HMvYTZd7akdGq5Z5L8fL0H50GeDQIG gEHX7Btt79N3upJJqP1yuAAB9tmPy3gqBjTlhoxmlWCxoBuP0dk6I8FYEv3L7KQkUJOi K5Rzwydh8XPqVpzAznseOTIWJ5HuwzoNfKR3FRh+IZMBPWnvAc6mzKkNq9ePpbQV8nB6 XnvALkD09KVnPMjwsbPKhO+X18rlft2HzMBXIgc2sjqw48l8gY27iPlZE3CWdoErBk9F odIRYh6kuzskgAU/iNuRlvWs2QZQgeqWh4TpFUWsP4AM0p65i+ULOi34birkfhUoUuaB UsUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=03fjnh1xwewL0u689e6AC8d7EfZpcbmYwThbeEIF6Rs=; b=cbQZBLqM/aRF7Fk6YlBMw5t4pFbRmj2M44tXw69ZUsbSjEq+0PMEJVN+PB+LQKqH7M AppzIHuUzqqCtSDZTFtQFarmnmViHlSfVAyrXVYHBSW1mU8PAc1l780VAgCASSawsxf1 eiUSzgWeGfQc9Q/WNtcksCR27r2Bykx6qgLiXBOmeiE4H0S5kh5u4brSzZ5WtFAxILpx XBnzkw1E+q/BYYbgLO9D65ARKK1ONrUPyMLg9+ACLUUowjrlOV8Jp3/tTlsVtZgbgTmz Y113vH274YZvyTTyG3pVbmGf3xTJ75I0FXixiwJscQYWrH86wordYhYSRj5ELVZfuAzY ob0g== X-Gm-Message-State: ACgBeo0ypM5KLghMKlsuyB9TOYbc0TU7s/jZX7w9WNNvrVYLueLfDrkI 7g6B47bQvFQEWUjwCwTwKI0XOsFushzdX176jHU= X-Google-Smtp-Source: AA6agR5Yk07g13dO92BJmJBTUJKn4YRbog6iyUSopPgtnGx3pom6mYU73oS2EW6JwYnu2B9lSh/JqHHicdrPK0rUZ9g= X-Received: by 2002:a05:6102:441c:b0:378:fcdd:d951 with SMTP id df28-20020a056102441c00b00378fcddd951mr805121vsb.22.1660264349645; Thu, 11 Aug 2022 17:32:29 -0700 (PDT) MIME-Version: 1.0 References: <20220810151840.16394-1-laoar.shao@gmail.com> <20220810151840.16394-6-laoar.shao@gmail.com> In-Reply-To: From: Yafang Shao Date: Fri, 12 Aug 2022 08:31:50 +0800 Message-ID: Subject: Re: [PATCH bpf-next 05/15] bpf: Fix incorrect mem_cgroup_put To: Roman Gushchin 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 , Shakeel Butt , Muchun Song , Andrew Morton , netdev , bpf , Linux MM Content-Type: text/plain; charset="UTF-8" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1660264350; a=rsa-sha256; cv=none; b=S6qwnhDAmtBHtOtVv5LhxRIMqWuCVLxHuJ9fTcGm+st3Zf446j6LaGns269RKNXkLCwSc8 WSrzI8/4NE0TzsjPdRBV+rAgUvq8lc3OE+97t7PPGHfTOriN2fQX1wl2QLLepKQfIWyTN7 tdUnDWycDtSmBAb+ps7SBBjNHmXkJeI= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=L9BIC0FS; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.217.54 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1660264350; 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=03fjnh1xwewL0u689e6AC8d7EfZpcbmYwThbeEIF6Rs=; b=XrdgT2rvP679a46E1e/IntDAW/QxefJOHUnG+JLjAYAelzPzv+8MKT0+JZih7gm6pRgeLu lajz2s0v12Uq46L0m9Ygl5B0+CpUVHuLnxs6orccnAmnDyIuvmNIR3OozIqr5fC5C4jjcP sX7A7wgNGspKMyfVFBId5xOEviy+Oe0= X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 597EB1601A4 Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=L9BIC0FS; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.217.54 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com X-Rspam-User: X-Stat-Signature: 5g6nohed56zhkfr4qhngafxu6nai5txm X-HE-Tag: 1660264350-813188 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 Fri, Aug 12, 2022 at 12:48 AM Roman Gushchin 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. > > So a new helper bpf_map_put_memcg() is introduced to pair with > > bpf_map_get_memcg(). > > > > Fixes: 4201d9ab3e42 ("bpf: reparent bpf maps on memcg offlining") > > Cc: Roman Gushchin > > Cc: Shakeel Butt > > Signed-off-by: Yafang Shao > > --- > > kernel/bpf/syscall.c | 14 +++++++++++--- > > 1 file changed, 11 insertions(+), 3 deletions(-) > > > > diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c > > index 83c7136..51ab8b1 100644 > > --- a/kernel/bpf/syscall.c > > +++ b/kernel/bpf/syscall.c > > @@ -441,6 +441,14 @@ static struct mem_cgroup *bpf_map_get_memcg(const struct bpf_map *map) > > return root_mem_cgroup; > > } > > > > +static void bpf_map_put_memcg(struct mem_cgroup *memcg) > > +{ > > + if (mem_cgroup_is_root(memcg)) > > + return; > > + > > + mem_cgroup_put(memcg); > > +} > > +1 to what Shakeel said. mem_cgroup_put(root_mem_cgroup) is totally valid. > So this change does absolutely nothing. > Do you mean that we can mem_cgroup_put(root_mem_cgroup) without mem_cgroup_get(root_mem_cgroup) ? Am I missing something ? > The fixes tag assumes there is a bug in the existing code. If so, please, > describe the problem and how to reproduce it. > It is found by code review. The root_mem_cgroup's css will break. But I don't know what it may cause to the user. If you think the fixes tag is unproper, I will remove it. > Also, if it's not related to the rest of the patchset, please, send it > separately. > I want to introduce a bpf_map_put_memcg() helper to pair with bpf_map_get_memcg(). This new helper will be used by other patches. -- Regards Yafang