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 DADB8C6379F for ; Tue, 21 Feb 2023 08:26:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2850E6B0071; Tue, 21 Feb 2023 03:26:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 235736B0072; Tue, 21 Feb 2023 03:26:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 123D96B0073; Tue, 21 Feb 2023 03:26:10 -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 043A56B0071 for ; Tue, 21 Feb 2023 03:26:10 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C9B3512105D for ; Tue, 21 Feb 2023 08:26:09 +0000 (UTC) X-FDA: 80490616458.13.746A608 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf06.hostedemail.com (Postfix) with ESMTP id 028EA180010 for ; Tue, 21 Feb 2023 08:26:07 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b="gL/+k88Y"; spf=pass (imf06.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.28 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676967968; 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=64nOhdqsrfC+GQvY/2yDtSkhDgrub/IRKe6PuUtaoTA=; b=JrDxrD8v+z4TnvAO1DhXpd4gURbO0Fa5aBqt6/nATWyabEfuk4TZCvRAIEqv4bQBWj3Bpx 6AuY7OiSIQEKLkuxs9aOPr8YI7T4iA/XZICp+TxJdR4eMV2Hw3XpxrEbYxCMmBDWZKNJeS vqUf2Auubq8WFmdZsOLcZIoqvoj1gBE= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b="gL/+k88Y"; spf=pass (imf06.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.28 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676967968; a=rsa-sha256; cv=none; b=tLdqkvVucBzHesAdpaUypLUThCVz7wd2FzSWqXSrKsJP6BR2QAtWCkpK5TUdlTmheubMo7 55k1CuUtOfaTKb6BPfy6Qqcd0mjI09jbtqZlZj/spl/AWSBG3VbzldDTYo33Ufr5s2f/sv SfRMZ2vEVSM7AXq5cmlO+ZXVC5D1ggY= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 64C7D34636; Tue, 21 Feb 2023 08:26:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1676967966; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=64nOhdqsrfC+GQvY/2yDtSkhDgrub/IRKe6PuUtaoTA=; b=gL/+k88YS+b45aJgVurrBUpl0g1ZFiyovTv6aHjfZ9jSBCOegm2/HVLZmSevsnN8c27HXc qiKMeeqh92MmoN1xTCabTZIByhEkYtbvvgvTGShcDF2NbBr69DSWBVaLW+5RnkbEYyf7y/ zzDrC4knnc0O1PBH8hBci/5ov6RFTh0= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4802213223; Tue, 21 Feb 2023 08:26:06 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id DqbQDh6A9GNCCAAAMHmgww (envelope-from ); Tue, 21 Feb 2023 08:26:06 +0000 Date: Tue, 21 Feb 2023 09:26:05 +0100 From: Michal Hocko To: Shakeel Butt Cc: Roman Gushchin , Yue Zhao , 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 Message-ID: References: <20230220151638.1371-1-findns94@gmail.com> <20230220230624.lkobqeagycx7bi7p@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230220230624.lkobqeagycx7bi7p@google.com> X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: uctyddh1q88i46ju75yjbccisqiqip47 X-Rspamd-Queue-Id: 028EA180010 X-HE-Tag: 1676967967-532083 X-HE-Meta: U2FsdGVkX18wmKT4zUWc538DiK+W6rnQEZE7DfJn9L175jKm5UlhyKq1IFKJ9Cg6fE7Bbd5I0ZqWJwbhTHvfcMQfqYPJdF35SrjHA+bHSpYeLvNlDiaDdvE/D3PwpLnU6TNl3wR6Nd2ew5H56ew8VxqaihWh27yqqxvZdp7yn00oG3xnzwmhGJrYTyFK65GwlEbHSiJe3YqaP1ADFO1eIKCsQ5j6/XjMw7OSGoc608HOkbN9a4boka55oCEkgueBVcKgYBg5gPE/7yfNqT95QMwrRG5/VlaykNJpnEyTno69Lve41IP3mbVPfXz3TUXOtxaobj6jCOK6sltwKMo2cQNINrdc/REfZm6XGkobnUpiyPmiPNNqQcOvAoIG2KZaDAWpPCOp0eAEtlKaLGsLytRhhFx+7Smc9GxuWOKaDKfjuruCoHGuZc+aAg8EYUApAC2/JDPRjd4fTAMnkrrQKHV93eJv11pqpO5S2nh1XPhCO3qvzU8Nuik1RzfOgX+XDW59wDUpNRIRyTAiuC+vLr5EITeu0rmzCa1/vaZcK2FAX61+Y/2MVfYLZG/r4k3NVC6GK0hvPI/usUaevFD+Nl7efQgKdfJmqPXm+O/ww2S2cXhjuId+V4Ek+A3fEGZ2G9QsW/5g6qAUxkH+jCuVztrvPV4kvB6c8OXYX0U7n0oCzqxSuHf6uniSzjwA5+C3DBIeQ3HuNBYBCgSq2dIbXfFMMOcGY0a9Rsjjgvdzpki0TTHn3A91cnMqnYEErhePQJZd9hBYAHxvQAuy012ry96vbQcqYMtT7Pt7BOfvNroszKWeRpHbNhlCFz8FufVUsS7AH9RcPAhoSJFPrJOacrSJWpBG/veLLoAsDU2INckgC2zJGJ7L2+fgJhV5IXYCAUmbutbIGl5ZXV7mQ9FG2QqGX9V2LEpXw4BhyHW3tsKOfaEXADPkwybWl6v9YlwjlYDatxRFB5IIms+ittG R4L5xaak XJDrDMYx1VG6+7HF31pOIr9oUKU3hnuNL2WZ4mLGsNssl98dnS6hfP2+Yr9sB/YXbcQUDCJhdHCBfW0RP4iZ4Ow+WjdRKgcwaXaDdo8Yfww6hCc0ikwlBc+hIsMasgPc1JI9A9U5EVVZ98sr5rFzz4nmeMCp78tJO15i0SH6acyU23R7aDiWEVNT3pGNoQFnpf2IYSFCG0pRa4y4523HMi2nmIjBQgFKpk//gNZrFk+ibbz4= 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 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. This patch is not fixing any actual user visible bug but it is in line of a standard practice. -- Michal Hocko SUSE Labs