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 9E45BC282D1 for ; Fri, 7 Mar 2025 02:29:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 593A3280003; Thu, 6 Mar 2025 21:29:15 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 51CAF280001; Thu, 6 Mar 2025 21:29:15 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3E60E280003; Thu, 6 Mar 2025 21:29:15 -0500 (EST) 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 202AA280001 for ; Thu, 6 Mar 2025 21:29:15 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 6B5AB1C769C for ; Fri, 7 Mar 2025 02:29:15 +0000 (UTC) X-FDA: 83193173070.15.B47343A Received: from out-184.mta0.migadu.com (out-184.mta0.migadu.com [91.218.175.184]) by imf26.hostedemail.com (Postfix) with ESMTP id 9A2A4140006 for ; Fri, 7 Mar 2025 02:29:13 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=D1qIFAev; spf=pass (imf26.hostedemail.com: domain of muchun.song@linux.dev designates 91.218.175.184 as permitted sender) smtp.mailfrom=muchun.song@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741314553; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=S5iiMgCTiEWsFPEP57NRn/hQnxZm6wGqGwBHu+DParc=; b=HzqvcEc6Mh+jlM/RpgWyui4ulseFqUlOfq4DwJewMkzbpZn0NpW7wZK+q9cP5x/ukNTV/u iHkfx4dXJvntDdNTgUO5CRPbagau0uH+VXOhKlZEU0FWebKJjLPi91pzYqZ/NUAghBmeUD qIkFkDcca7QRaz3Dus799VCEQJAFvPU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741314553; a=rsa-sha256; cv=none; b=HvRtXeplRP4UqdCOdywnmfSxbhzfV+X37pRYYPuhghfspYSgtFJljsZTMfty8edwuTBvR/ 0kHXXBZrl0kDZ7XHNjzY3L6Kx2kULau+uKJWesa4x5pV5YjKiMmawk7vpBXdNqX4sIBfom YQcKe8Cv0mC5jpITr1rNCoF9LcMWbZ8= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=D1qIFAev; spf=pass (imf26.hostedemail.com: domain of muchun.song@linux.dev designates 91.218.175.184 as permitted sender) smtp.mailfrom=muchun.song@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Content-Type: text/plain; charset=utf-8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1741314550; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=S5iiMgCTiEWsFPEP57NRn/hQnxZm6wGqGwBHu+DParc=; b=D1qIFAevA+kRZFqH55xQgQ9Oy1gk21CRqrHc9OFwXYZnEH3IyI441NbgZL/Fmwt0qUxRP3 c9nPcho1Ar6IS85NSOm2bIxPBtPSVOZ2kG417PPbrd2AX7LkPsWLEfCTZKdG3kdFIsOwP1 VpfBvzOFJ0UFGmA74Qdua5n4pHCiR6g= Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.400.131.1.6\)) Subject: Re: [PATCH] mm: memcontrol: fix swap counter leak from offline cgroup X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Muchun Song In-Reply-To: <20250306143735.GB290530@cmpxchg.org> Date: Fri, 7 Mar 2025 10:28:32 +0800 Cc: Kairui Song , Muchun Song , mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, akpm@linux-foundation.org, chrisl@kernel.org, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, stable@vger.kernel.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <20250306023133.44838-1-songmuchun@bytedance.com> <20250306143735.GB290530@cmpxchg.org> To: Johannes Weiner X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam02 X-Stat-Signature: r73acnrzs6deooqznoxqybk969fwgpef X-Rspamd-Queue-Id: 9A2A4140006 X-Rspam-User: X-HE-Tag: 1741314553-421495 X-HE-Meta: U2FsdGVkX19A5y6a4ib+wA5P79o0rjZSK6uhHhHagNVw+7srh055dtcB8p9WHszSYpdKQbK+P+zl8BJEkNeXxoorMOZ4NIpfQnuqOI0p6BJaf6uC0K3O4Zmf8it34AHj//Zicv9pKdQLSvVrQkpV5/6y2+YOMypl2CqwnKvKbOfztvOkr8ZHqcEyJUW1idKREzKJdG5gDaYV19h7vr7puqSRmtXakA+6vBVaTmhh/pUCQ52kGbUHUqY9f6QPcYdX9wY0TwehtOItZAWISeYgSnpLyvrbWo2gOv0gTR4Bsy1zgKeiZSkzHele08jKYEEnjvcCwvbkF4mn2volgZroV1Fve25EXcSrm93H6WC2Xch1pXS6Gq3lei01+kQfyuuMt0ZyhSc7BSo8lZi6paz7kZ5ym8DaL1WPCIRbfIGrcMVkxbONWTWF4UfAigu7gDtn3pHkhueZ+3tBRG+rlB60pFqMcFpdN8DFf+Atd2VNlpGkb0URApXE7aILWPdAwjv7i4f/RZlac/63le+k93EGZnzqZTNHkNYMZPnqeoJ2pQBTGNe5/0wqOAGGQi4MHwqhU2OhLM6NEy3MAi7G0gCn1xKY+4uf3n1LDyiANd/C9XM5mJRh2HT/T3VFe49FTtws0cF0BZKugtysOiUCvj1hOMsTiO/EWv1+esHJEDghneRBDM6pPJl78Wwd+I4S270Dpo3CxqIGsyI/P0qaZ+eclNZ483nh9vm1VbM4F5KJBVpgAJE0oeYOISnk6a8x5UQ77JI1MRz88tdwwIOj/xFfeIN/GWEf8oT7SnfwmeMp+gdPbh2zhEqY8xRacrNBuFvF53vqGDS/3+bKhywtlJaDNGXij08CHEIIHv+q8wNw6bTwiixMU4SgXfjh3/mTkGg+gUZoa362V66Edm7ksWEQrzGQ5QIqcqdkarPormj+9SscvH8belOUOf0Af1XESkP/J8B00KyR0urxD6uzsC8 HWXNSNEV R1taedss2ra339h4QcGLH2rVgqtCeHtc2Nskq8AB7OY2bdvKa+aa83pl3NaCo0A65omo0gknCFOO9DiGmvcJ+6Qs8fzHx6wi0vfqy8ZpmhkctfTd5aZ06xXYgzeLhM45h9t+qX18WKU8uhM2ZzP79PuW+YPUGIx8kbHEmcpgcbvQMz2cG3l91cJ971z8bG56LFIn7Mdxs1v6k/rlFe49J7wFRWmQmYZmAil1WxIOJ6zFTsRcgBajFbRAufC+7lBskooIgHCzUjlUv2U+Dwh/R9UGxVp4b/Kmt3oDLIkuAKQxqH77oe8RlNcaxEfb6qHPCZxZG 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: List-Subscribe: List-Unsubscribe: > On Mar 6, 2025, at 22:37, Johannes Weiner wrote: >=20 > On Thu, Mar 06, 2025 at 10:54:12AM +0800, Kairui Song wrote: >> On Thu, Mar 6, 2025 at 10:32=E2=80=AFAM Muchun Song = wrote: >>>=20 >>> The commit 6769183166b3 has removed the parameter of id from >>> swap_cgroup_record() and get the memcg id from >>> mem_cgroup_id(folio_memcg(folio)). However, the caller of it >>> may update a different memcg's counter instead of >>> folio_memcg(folio). E.g. in the caller of mem_cgroup_swapout(), >>> @swap_memcg could be different with @memcg and update the counter >>> of @swap_memcg, but swap_cgroup_record() records the wrong memcg's >>> ID. When it is uncharged from __mem_cgroup_uncharge_swap(), the >>> swap counter will leak since the wrong recorded ID. Fix it by >>> bring the parameter of id back. >>>=20 >>> Fixes: 6769183166b3 ("mm/swap_cgroup: decouple swap cgroup recording = and clearing") >>> Cc: >>> Signed-off-by: Muchun Song >=20 > Acked-by: Johannes Weiner >=20 > Looking at the original commit again, we also should do this: >=20 > --- >=20 > =46rom 2685ca87d73d0c2b91cfd6959e381a40db235119 Mon Sep 17 00:00:00 = 2001 > From: Johannes Weiner > Date: Thu, 6 Mar 2025 09:31:42 -0500 > Subject: [PATCH] mm: swap_cgroup: remove double initialization of = locals >=20 > Fixes: 6769183166b3 ("mm/swap_cgroup: decouple swap cgroup recording = and clearing") > Signed-off-by: Johannes Weiner Yes. Reviewed-by: Muchun Song Thanks. > --- > mm/swap_cgroup.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) >=20 > diff --git a/mm/swap_cgroup.c b/mm/swap_cgroup.c > index 1007c30f12e2..de779fed8c21 100644 > --- a/mm/swap_cgroup.c > +++ b/mm/swap_cgroup.c > @@ -92,8 +92,7 @@ void swap_cgroup_record(struct folio *folio, = unsigned short id, > */ > unsigned short swap_cgroup_clear(swp_entry_t ent, unsigned int = nr_ents) > { > - pgoff_t offset =3D swp_offset(ent); > - pgoff_t end =3D offset + nr_ents; > + pgoff_t offset, end; > struct swap_cgroup *map; > unsigned short old, iter =3D 0; >=20 > --=20 > 2.48.1