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 7CC9FC282EC for ; Thu, 6 Mar 2025 14:39:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0EC9D280002; Thu, 6 Mar 2025 09:39:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 09B45280001; Thu, 6 Mar 2025 09:39:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EA5B1280002; Thu, 6 Mar 2025 09:39:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id CCC08280001 for ; Thu, 6 Mar 2025 09:39:00 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C80BC82082 for ; Thu, 6 Mar 2025 14:37:43 +0000 (UTC) X-FDA: 83191380048.21.57E959A Received: from mail-qv1-f50.google.com (mail-qv1-f50.google.com [209.85.219.50]) by imf13.hostedemail.com (Postfix) with ESMTP id 82B402000E for ; Thu, 6 Mar 2025 14:37:41 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=K6OyJQif; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf13.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.50 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741271861; 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=GkwQ0oLvEDj707o8NQ6UwhxGkpQaxXqiDQ8oga7M5qc=; b=1CzBAf8oSg+Xd90ICMgZcAf5U1IO+/GaKvJ9Wd066kF0xkG8e6ydbN5XODRmrrs/iF5ODn zytOgLlns7NamnASXHlhtx6TM67cPMxt1cOrzsd58Oc7BW26ajXPdNc75LaTvhF38FM0Hk Z9Ef1U+hOk36CQVZpSggN17SHmhwzNs= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=K6OyJQif; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf13.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.50 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741271862; a=rsa-sha256; cv=none; b=d6+n0chZR1VNBBHD9zImNt9JobvllNEQRZZ15AVhba53KenRtEELt9aVXPDSqQaCFHejnR ZQBWyWhFDxoVyHyfLSLtiOrRpUSxgeGUZm9TN4b4ynD97Cbfj2us8t3z9CnxIPR8RHTh7Q WBArTnicJwbBR6hYqS77I7aRrzELFuo= Received: by mail-qv1-f50.google.com with SMTP id 6a1803df08f44-6e89ccbbaa9so5623346d6.2 for ; Thu, 06 Mar 2025 06:37:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1741271860; x=1741876660; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=GkwQ0oLvEDj707o8NQ6UwhxGkpQaxXqiDQ8oga7M5qc=; b=K6OyJQifyJ3zVP0szdWtxBadkdYW55Nv8n5QQFHk/h+I+LQFnIc0yn4YQ4OnahS0Eu 3JcuHIBiGxlkF5o3zkUgqTZyJzMmG86+Tr5N1KSNzV3sXuUJpoQ8OUw793EbtqLzQ0pn Rw41ARU9Znx0zXDcUgKP0+ekM3lqCYnAxC9CaW3aXpVJAEt2ACIChpIRIBSrK2fRL7GU l8QDc+XIdGKS+VwobGHhY0y+/yCkDY5lTPFOaX5Q68W5aoTZgNqSPSqyut5fYogCoU0s WMMwv64j1S4xilCRxYQHKn7adkr8gdYggSxHSK/ZUZJwigNby1KeE9AUYtOfCyZYtS+R +PBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741271860; x=1741876660; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GkwQ0oLvEDj707o8NQ6UwhxGkpQaxXqiDQ8oga7M5qc=; b=Jss4O+wCLHNEvkA90h6u8L6NT/n4dL7FN0kINwBZv4bTvSiZkAzlBvLyoZTAMowy1T bEpNX9Rang24NKOih3j/LZPTl3HBx06FGexsDcY5zLszBF+d7GnVpf0LcXebm7gMGND9 T0KWWhrNzZvGpjs9yIA4O/PTzt9ZlPJ1CwDFiKIxcaL0T+QhJWk5JaqKS/UwyPU1fSwc +rVjC6gmIDBsmRUvk/w5YBXCcmiZR37tFMifAZRTzl1n33k3z/LAnKB8cBYNyopO3r0w vSCYWiAfEvo+rGvW0Xp4GMH4hhL74IGXJXtF4T8K1A0c8LDNPwW2GtSFwDY2qCH9bfTE palw== X-Forwarded-Encrypted: i=1; AJvYcCXqBH78Ehf3OxzjlbSxX4+IKHKxEXJ9lnbutuC4uaTRJx7x31L2DO1eUKSWQcCA/PpCMiv+aLWEBA==@kvack.org X-Gm-Message-State: AOJu0YzzWw3PWbgsaKEbI54v62JSznqAJaWiQezm3dzuDU/434GBVWhB Wu60wfabvRzcwG9XXlBqH5Xq3eH0OYaIAAZK14N83SPOwGqbYOi1Tt31jx/jj1c= X-Gm-Gg: ASbGncuHdLpltTyLlvhevIuAIBOIGZgU1DcqFYtEFNUIOmuqaPuFJEsUj9YcHoU5d3u BkBTPcPvWQ1ev9Q6PcMkBf1jxBhzZDvdyIxYV15Tk9mMdE4ok1RoZ1Zp97lbAe10uMHVeqU/E1n 7HZdYtGrvUj+I6aNzp2P+2xlcCqb7LVPCWWLdhmTmNM/MBLhFniUMFvBepSHAe5pdC+9p8FWb7e Rep+sEkOEvKvh+rNti3yTplSHOCYS62jDCOHPE+uv0HRpzlwzl1AyXB127WhaYFDmOcXb4hHcww jZLLBFcsPbqQl2p8aZLOjb4UYb4JoMwo57j790+Gsvw= X-Google-Smtp-Source: AGHT+IE69KzW444Tq3MFt1OkLKjayfvH3XmFTp4VbrSWCKV4Vo0xqPzJpBTl6QpVk0gBd6/iM0+Njg== X-Received: by 2002:a05:6214:f61:b0:6e8:fb8c:e6dd with SMTP id 6a1803df08f44-6e8fb8ce9b4mr14514736d6.5.1741271860418; Thu, 06 Mar 2025 06:37:40 -0800 (PST) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with UTF8SMTPSA id 6a1803df08f44-6e8f70a4495sm7760056d6.52.2025.03.06.06.37.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 06:37:39 -0800 (PST) Date: Thu, 6 Mar 2025 09:37:35 -0500 From: Johannes Weiner To: Kairui Song Cc: Muchun Song , mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@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 Subject: Re: [PATCH] mm: memcontrol: fix swap counter leak from offline cgroup Message-ID: <20250306143735.GB290530@cmpxchg.org> References: <20250306023133.44838-1-songmuchun@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 82B402000E X-Rspam-User: X-Stat-Signature: 5wbyespzg1q8ap3seouzinwe56r3s4me X-HE-Tag: 1741271861-350741 X-HE-Meta: U2FsdGVkX18QDdBjbq1ZskYG6swdgD7tm/58Gl0YMD0iKuGZ7ILKNcBAoJLjfCqU8Z+0mlQ9QIqhX5nkRuV6zeCsNJ/U1zijnGwN50Sg3HtZkLJ99ZDlhzlzvv5souDZ/H/7rLyErBScBl6JVQ7tbwWtL6N8uQHUjxBSTrdR1YEmrsjRcmkfbRYSyhiHVZH6N8rsYN6r1iyeDgFwg3qn8Ic2Y3uLb09T13b2LnpCVKkPLMzsjH20fQADdmeHSYDDzveEz2AzTUC/MmbBxCM+U0cE2Bk8+U60d8HOF0M4buKngt4KCUR+JLTqxzy7Kcy4gWd8dE56QHAcKHuX6edaDlra+AbIrhsKhF3ARfXkt4uHT0/+HkPVHT01HmgIdoW8UqAVlShoR9QGU3xYBFz7+XTtpytuXNLBh58Kx5GxPSM8zcuI31lZS8mMkVSTr+V2IcPelEwd+O4R9/gWW53/PuLRzTLewHjJW4JAJM/kE5OsdzsxCZJIc80VObAvEXeSyCNGg9+1whxR7eKxt44dE7+PYpXWQdrV0uQf4aa2IkmxDd/LG16WU6m69j+dOsQQcG6jcLKwhn78DyIh3LoCFEkrudu8+J1sn5jaVqmE1juzA3h75MrKdpVL8bCypjEFZ8cA+qAQc+r12gvTOUQt7XeQb1ZudA6cpbw8ZHoABPsp+Gm0kIu17YonU6ai9tfWxviOKyieR3yuzkLE2LtTM7vhTgq+sj3C6QZyv5nMfuAo7viVjRbQRD5W8d/YST07zmk5U/cfZF0VsMuzI54FlHFUisv51EpXxmXtpg6QLyVee2hQ1SqvSE1lQFqDEmmXRacgySZRrJqlS61ConPEbEtWzVhFExj/ZCaba8th9BMYWXIzHwP3uawfnUFyhOZNsiMdLs6sNbXHx9fdbXqjlxdusa+sHQb0siljOjbE7kU4i18ocMkzMYiTeCTBzU2yRXt/k5BRtPaT7tzJhXX /wSz3kZ/ Lz4rVy8e/Uid8ika1+VkbtO7dzxaJaKGUv0KTE4htvH6kyV5ebZt4Cm94/eNHhgM+1wsMg0Zwi1GEZHHKYGpQQ7tw1tYaBfXpLhhRzukKg+1w67fazfH99s5jKRbIjPQsLdjD0lNAGqAcenw36mb79wZ28oirOyV+WDkVSbBFJ5ENQQRgSMJymF8j9+2a+AYRo4m4bzfT/He9iJTpEm7dp28gxE9J9CBU+vTY0oPdlvIICWy5WOEPOLcfMGCxwbgkfW++b+HEG1q6qs/zL2qo9JM+qHcTW4591FpUl8VUPip9HyHSWs7w5ni/iOKjadTWr66guXBhtJDhw05TQG44LICUPiyqYR29Cb5aXmfGdOq8ozceo48fyDR6NklErEaReLQCWW9f6HhsQRHypCLL7rrYgE72mUXhk11mkU54ucINkRYHCE9Fc9MdEG6nZkCkhiZyFTzE+q1cM5UapmyJhdq59bbLzHQ82g4a5Wz3J574JbEI0hnCRlCZkavmVF0MOanurmTl6TbtkHZB8s+GCW2W2u79wIiNtt3LVb5hNPA+VZQidvQMUfo4nQ== 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 Thu, Mar 06, 2025 at 10:54:12AM +0800, Kairui Song wrote: > On Thu, Mar 6, 2025 at 10:32 AM Muchun Song wrote: > > > > 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. > > > > Fixes: 6769183166b3 ("mm/swap_cgroup: decouple swap cgroup recording and clearing") > > Cc: > > Signed-off-by: Muchun Song Acked-by: Johannes Weiner Looking at the original commit again, we also should do this: --- >From 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 Fixes: 6769183166b3 ("mm/swap_cgroup: decouple swap cgroup recording and clearing") Signed-off-by: Johannes Weiner --- mm/swap_cgroup.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 = swp_offset(ent); - pgoff_t end = offset + nr_ents; + pgoff_t offset, end; struct swap_cgroup *map; unsigned short old, iter = 0; -- 2.48.1