From: Michal Hocko <mhocko@suse.com>
To: Shakeel Butt <shakeelb@google.com>
Cc: Roman Gushchin <roman.gushchin@linux.dev>,
Yue Zhao <findns94@gmail.com>,
linux-mm@kvack.org, akpm@linux-foundation.org,
hannes@cmpxchg.org, muchun.song@linux.dev,
cgroups@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm: change memcg->oom_group access with atomic operations
Date: Tue, 21 Feb 2023 09:26:05 +0100 [thread overview]
Message-ID: <Y/SAHfHsljuIRBJm@dhcp22.suse.cz> (raw)
In-Reply-To: <20230220230624.lkobqeagycx7bi7p@google.com>
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 <findns94@gmail.com>
> >
> > 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.
This patch is not fixing any actual user visible bug but it is in line
of a standard practice.
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2023-02-21 8:26 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-20 15:16 [PATCH] mm: change memcg->oom_group access with atomic operations Yue Zhao
2023-02-20 21:09 ` Roman Gushchin
2023-02-20 23:06 ` Shakeel Butt
2023-02-21 5:17 ` Roman Gushchin
2023-02-21 6:52 ` Shakeel Butt
2023-02-21 13:51 ` Matthew Wilcox
2023-02-21 16:56 ` Shakeel Butt
2023-02-21 18:23 ` Paul E. McKenney
2023-02-21 22:23 ` Roman Gushchin
2023-02-21 22:38 ` Paul E. McKenney
2023-02-21 23:13 ` Shakeel Butt
2023-02-21 23:38 ` Paul E. McKenney
2023-02-21 23:57 ` Roman Gushchin
2023-02-22 0:37 ` Paul E. McKenney
2023-02-22 4:28 ` Roman Gushchin
2023-02-21 17:47 ` Roman Gushchin
2023-02-21 18:15 ` Shakeel Butt
2023-02-21 18:18 ` Matthew Wilcox
2023-02-22 9:01 ` David Laight
2023-02-21 17:00 ` Martin Zhao
2023-02-21 7:22 ` Muchun Song
2023-02-21 17:48 ` Roman Gushchin
2023-02-21 17:00 ` Martin Zhao
2023-02-21 18:02 ` Roman Gushchin
2023-02-21 8:26 ` Michal Hocko [this message]
2023-02-21 17:00 ` Martin Zhao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y/SAHfHsljuIRBJm@dhcp22.suse.cz \
--to=mhocko@suse.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=findns94@gmail.com \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=muchun.song@linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=shakeelb@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox