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 41BE5C636D7 for ; Tue, 21 Feb 2023 17:00:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C1E8F6B0078; Tue, 21 Feb 2023 12:00:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BCEE36B007B; Tue, 21 Feb 2023 12:00:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A968E6B007D; Tue, 21 Feb 2023 12:00:57 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 96ECC6B0078 for ; Tue, 21 Feb 2023 12:00:57 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 44009AAD95 for ; Tue, 21 Feb 2023 17:00:57 +0000 (UTC) X-FDA: 80491913754.01.0DEBCF3 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by imf09.hostedemail.com (Postfix) with ESMTP id 256E9140027 for ; Tue, 21 Feb 2023 17:00:53 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=QzL49iKV; spf=pass (imf09.hostedemail.com: domain of findns94@gmail.com designates 209.85.216.41 as permitted sender) smtp.mailfrom=findns94@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676998854; 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=bzbHZtMVTbCokAydXsy5m0utnYmreRbdGfN2F9U7y6M=; b=cQkW99kWkjCFlrVWHQBxOs/hyFWaEFeazoWE4f/S2I8kvCgAtAGRyjU3zxmfJQaVSSg2Uy FTQ0XvFJywDkchjMveWIWQ/U7Zoyp30xD4weSKlfvarI4QJFRMAEldHyUZfU7liVgl0fz9 PFEmhGsCHXd+uS/oCitdemq5ulzW9uM= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=QzL49iKV; spf=pass (imf09.hostedemail.com: domain of findns94@gmail.com designates 209.85.216.41 as permitted sender) smtp.mailfrom=findns94@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676998854; a=rsa-sha256; cv=none; b=iV37xKoh1RRbvXZ47o0cI8SzPA5CqfLlQBDd6t0AoQjWReOM/fqWNWdhsQ7IsdfuUJwaOP 3zV1XBHlQKfHR+mMUbjcwEtgMEupoC4y3axJJXspX9xOG6mJWMgPanov688R6ueQvSXqXY X3uNsy+3vaP9r/dIu6wWVq87kGzTrco= Received: by mail-pj1-f41.google.com with SMTP id g14so5723458pjb.2 for ; Tue, 21 Feb 2023 09:00:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1676998853; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=bzbHZtMVTbCokAydXsy5m0utnYmreRbdGfN2F9U7y6M=; b=QzL49iKVV0NXrLXOI5t613DcnDYuBlQessXmxJP1FHor/KKL06T6K+7pamcGPiPvdk jTOq5b6Skaz5NR4hmdR8cAIK4lxfvrD+PpynxhvhWugv9jZ6gjQdDSNqUe4r40WbI1CR gybjHq52mP/3r122fbF+exWScCx3lGh1pJplnRnsQ/2ySBZ50qRGQlB2eIo4hYB/Loui vLRm653Vww0sbcX56Xvt/KmMhWWD6GwyAJoOvmB/mYV5NtTecohDHu7okcPKyBtKrWv+ 4CaUnNZNvl/3t8wb+xqXiUmfVVv39CFp7YcCq02AQghG9WCkViwrI+WuYQyYDMRbA/Lv k5Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1676998853; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=bzbHZtMVTbCokAydXsy5m0utnYmreRbdGfN2F9U7y6M=; b=Q3RmMHUDmJUOCd7EpYgJULUVKdLyGy6IXBKaxxOoSMgXR0NTC+t//8mlds6caAp8Ol Q9ynroZDcijYKFBQqUrgWrGToWvKoJS1Shqhq40CfzPC56uCinknpiD8lEDrB5qBZVLf nSCoBAyOr1a19eEG9ic2wgS96xYt6jt0MIcbXRdF+VhqYluQwlyRnAPYlBUpRV/N7dbU 5MDv2PaZvQ8dm7Gts4kBKSblsgA2LgpmRU5Jd8cYSFXrMZv0+bkAnkAG3KlqRkYzfr8A uAweJBmm5OYsN5Hcd+3ZYLVWU/VOdMoXfem970qkxc0J2836CLfGsjrVduowv0nURahy 5pTg== X-Gm-Message-State: AO0yUKXZ89JCquqnQ6KsCEWEQWUr8cnUvVMCijEKV0FCv5T/bqSjbAWx pgRtCJMD3E0875d7tivzDQVwV1hgD/sy1Lv7owA= X-Google-Smtp-Source: AK7set9KcVfJUmaN3Uny4EJdzFdT2c5C6toIxjeOV5D15HKMFi5KMpUSjvZCUKbFvkRNHRjGR3sTQf2RaJxdDjTOQNk= X-Received: by 2002:a17:903:25c2:b0:19c:9999:e8f1 with SMTP id jc2-20020a17090325c200b0019c9999e8f1mr299850plb.12.1676998852828; Tue, 21 Feb 2023 09:00:52 -0800 (PST) MIME-Version: 1.0 References: <20230220151638.1371-1-findns94@gmail.com> <20230220230624.lkobqeagycx7bi7p@google.com> In-Reply-To: From: Martin Zhao Date: Wed, 22 Feb 2023 01:00:00 +0800 Message-ID: Subject: Re: [PATCH] mm: change memcg->oom_group access with atomic operations To: Michal Hocko Cc: Shakeel Butt , Roman Gushchin , linux-mm@kvack.org, akpm@linux-foundation.org, hannes@cmpxchg.org, muchun.song@linux.dev, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, tangyeechou@gmail.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 256E9140027 X-Stat-Signature: iqhqwbje14quq95j4tme8z83kommodqi X-Rspam-User: X-HE-Tag: 1676998853-428934 X-HE-Meta: U2FsdGVkX19+zNnYBtSzRdCL64EWWCt4NN9EWRuOYh2+azKRiuLlRlJiH3Dbx+wYIlLxhQHfMf1/FS/0yGNSXredoo2FARic06vay9meb2ANj7ojdJY4DY9J9nXLUnpU3UXiDbvgsIM407vc9ZmtXX20IaFNw1fml+scDpJVDUnfPE5gnlJetppsTM8798e9E8c16dM6FOldzo6iQpVX5n6Y00d5cTwluzAn+8r0vX5vlVr9B7kpJE6gAEA8/jm+o1haeUWQ04Y1yUzqpXQOqdhVCVHwRm+irPwNQwxnkVVcFiee593YLzZMBpUgrbyFR+lZJBbhdaoUlYBNcsyWqQGhK8CIbDyz+szdAvnkdbn5mNUsvJnEsM7tAalvIKUsyvz8Ul/u2iqO9P0HrPr5POkBvUQM08JbtPpNh6WetFlBYnXXYeBp4ZH4XxrbubdjPeD+EJFQm+InTuo+loYZPMxjVnCUGNEvspWflhXBAER9sGrU/S8PyPL/2iIXQA4t0oSRT056XzyC6/foOeqkdS32lc/n7WkKB230RoztQ3zw6xAM8I9yI83bt1NESJQODq4dsERY7Fa4mt3cwLA9kFBzalSX/LMqyXc3ZyhcsGVfq6B0LNbCq8s2Fvp4gkB3JyYp85FbhrBP5w/fXwLUB3U3js4SCBnMkS3Kexc8PJ+k53BckNtsptQYwtxJsrKjFwkQWCjpaB595/SeHPpuKQ0r8THbHQcEnNU9pu9f95KbEHuPCtI/57+vOloMAfJBxxH/CgoewNL7tGZ4aok/DNEhveWes/aYj01vRoD/SusPqEEvEo3WDsjj/wfIbe6XWdmuIQqZhLkRuQ63//GvWeYT0QswMLYZysW3hjyjKa000PcQ7PjPHlrVVDe1bJQvCzhw7sH+bvhvMgN16kaSyFu6QPrAo7kyHRd2GKnRATSsoQ8bZnUJVNekuPIeLjLI1UncOqgjzVduFKBRw5n OYibS7Jb 4vj1mjWNGdDEc3SmRZLaXeKbTE14YXVulwU2Ykqp16+dxWfIRPklIFnoB1y/zX0R9pg2GqYjDGI6Hna2ifiHaoyF3Vs46bE9imz1ZoFTD/C8j1u4sJx+5cB8qgNFeKzdScWIA75loOgkSkL2FljC/RXYWqvbMybijhmY4zqcNWuEsB12JqGkPcqJJ4CkV4wdTOsCfYF+qjHHaXiILm8ecZ7ftP67L5TAShN3erHXBDzaGTNJSDMQtw7eysIG7w9zaa128Iw1T5wZ1MZU5N/McrDQhpCLmkfseGR5uBCWRni00rE6WVadzDD2r11tzsx1k6mXyD+hFmrR2fCtDwImsKrmce9WlhnUMW5i8Xa77cddlP1e2VvaSx5jxZmFAEshI0oCHDfuNUi0gtz0/D7I/uiaWctiItWSa/HixohVp+WPT6HQBwOMkVIt2A7XETWGXnViRkGa3YHyCudAk64m57VC2LTwKBLDzH3HpU54CzovT+8w7WTT18TrJUA== 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 Tue, Feb 21, 2023 at 4:26 PM Michal Hocko wrote: > > On Mon 20-02-23 23:06:24, Shakeel Butt wrote: > > On Mon, Feb 20, 2023 at 01:09:44PM -0800, Roman Gushchin wrote: > > > On Mon, Feb 20, 2023 at 11:16:38PM +0800, Yue Zhao wrote: > > > > The knob for cgroup v2 memory controller: memory.oom.group > > > > will be read and written simultaneously by user space > > > > programs, thus we'd better change memcg->oom_group access > > > > with atomic operations to avoid concurrency problems. > > > > > > > > Signed-off-by: Yue Zhao > > > > > > Hi Yue! > > > > > > I'm curious, have any seen any real issues which your patch is solving? > > > Can you, please, provide a bit more details. > > > > > > > IMHO such details are not needed. oom_group is being accessed > > concurrently and one of them can be a write access. At least > > READ_ONCE/WRITE_ONCE is needed here. Most probably syzbot didn't > > catch this race because it does not know about the memory.oom.group > > interface. > > I do agree with Roman here. It is _always_ good to mention whether this > is a tool/review or actual bug triggered fix. Also {READ,WRITE}_ONCE doesn't > guarantee atomicity so it would be good to rephrase the changelog. > Something like: > The knob for cgroup v2 memory controller: memory.oom.group > is not protected by any locking so it can be modified while it is used. > This is not an actual problem because races are unlikely (the knob is > usually configured long before any workloads hits actual memcg oom) > but it is better to use READ_ONCE/WRITE_ONCE to prevent compiler from > doing anything funky. Thanks a lot, I will rephrase and update my patch later. > > This patch is not fixing any actual user visible bug but it is in line > of a standard practice. > -- > Michal Hocko > SUSE Labs