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 CE86EC2BD09 for ; Fri, 12 Jul 2024 18:56:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E6E816B00BB; Fri, 12 Jul 2024 14:56:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E1E456B00BD; Fri, 12 Jul 2024 14:56:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CEEE56B00BF; Fri, 12 Jul 2024 14:56:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B1E9D6B00BB for ; Fri, 12 Jul 2024 14:56:17 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 31718140C61 for ; Fri, 12 Jul 2024 18:56:17 +0000 (UTC) X-FDA: 82332005994.12.8B9740B Received: from out-176.mta0.migadu.com (out-176.mta0.migadu.com [91.218.175.176]) by imf27.hostedemail.com (Postfix) with ESMTP id CB30740019 for ; Fri, 12 Jul 2024 18:56:13 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=nh4JaPaH; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf27.hostedemail.com: domain of roman.gushchin@linux.dev designates 91.218.175.176 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720810548; a=rsa-sha256; cv=none; b=EjYGGQvLAPL4VHPJF0C5lJgDi7AU4PKiXYncfrz68pEf5fmgTLniZMtjqJmMHqPP3GeYGJ TgFO2Zx6jgPS0xOynZX7XMn+Bo8RJuYW13MLKRMkdppJcPCRp5z/FLcILVHYEE/Sij6kMb W8Diq8MTH+Xt1xWQQLEDsFJ++SPwVto= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=nh4JaPaH; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf27.hostedemail.com: domain of roman.gushchin@linux.dev designates 91.218.175.176 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720810548; 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=bLOuCRQ0OaEn4CRs61suYHL8mnpNY/wKKFfs4K+hv9E=; b=z7DWBCbnAOO191uzmR6cxr0J6XtiRM9+UREuqLwc1znGfDj0h6jIU5NGFh3P0Vrykw917a KkXb4sb3/k4Wnibto1D9spcOlAFu35tdxB3ygqNVvX9dLF2ut2vsvALYz3Zf6lsjmpDM5W RfTNaGUkA1Jb7JnkKBDQQg0rsRmoMJk= X-Envelope-To: dan.carpenter@linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1720810571; 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: in-reply-to:in-reply-to:references:references; bh=bLOuCRQ0OaEn4CRs61suYHL8mnpNY/wKKFfs4K+hv9E=; b=nh4JaPaHNlL6nLBdOjcY/PKNDiItVRVQ9xhllFUjjYbPY8sSv7cDsirO3xQuMT0ZvKms9G ovvREJr4c5R9y4n1Ywc9Ojc8h94iUqjAG1SGNvQBK/IAMXdDxGubYPosMT2Qxj8IVnk/Ik kVQb5jonTLZzT6dJxnsO15NVB3aM8RI= X-Envelope-To: akpm@linux-foundation.org X-Envelope-To: cgroups@vger.kernel.org X-Envelope-To: hannes@cmpxchg.org X-Envelope-To: mhocko@kernel.org X-Envelope-To: shakeel.butt@linux.dev X-Envelope-To: linux-mm@kvack.org X-Envelope-To: linux-kernel@vger.kernel.org Date: Fri, 12 Jul 2024 18:56:03 +0000 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Roman Gushchin To: Dan Carpenter , Andrew Morton Cc: cgroups@vger.kernel.org, Johannes Weiner , Michal Hocko , Shakeel Butt , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [bug report] mm: memcg: move charge migration code to memcontrol-v1.c Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: CB30740019 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: y1qsozgaufh5tc6xk3zjmnkup4wjiukj X-HE-Tag: 1720810573-417777 X-HE-Meta: U2FsdGVkX1/VNiScQ1/S8UrEqCwZP/aMDd8H1IVUZ12eYMncriaGpOqd1GnEqgJKKO6+XUl+KZHUyhvidXAbCXU26D3iC23SvZ1/LzdsT72Jhxv9dmBNRCykiLs8ZHkPAtPvY725vLUcA1RB3wi2ezfL0EqflmjFE/aYw3X+N73I7Nf7PzjmxJrl7GB72OS3kTVFBH1IBrx9oqOR8LC2vit8oTAK2Bl8rgGrVAug+EVUo8zcpI5vcjOAdmKLLYazKPDF1RvZ3Z3WIyuAoZblSu/IU6uwW8MMlwF7aaRX52kDdQz4fYXZYXP6bR/o+SlX/8ab/aeq2BBmgYmtLxMXNsNRt+AqDHNOoQzWAQqN8xL5vwi3KWs4k+LLOhXk1TzjpKOwi9J9BALZp+e4MNkFYQN1AzUtsLwXMkLsk0zbSqCJxXlG7bABvA/lFdl886Nm8F3MGiyZThzmT2b2R133EN133hvgs0h5ouypqrUGVo3IVnyBlTxk3MhhXiywctWo4gYRRoSdJNC/4YguGiiFHp6qqiyNGGIiGv39KUvkWuMlQPEJPi6MhdYs94pOT9FcH6qFMrFmSsxSBABTXaiXSobWOXIFdhID8OWT4oNstHvxg5oU41bCKsE31ykv0CCwqGqXL7KmA4fSYjCpVXfE6mCTFnraCKLb+0A1mNrUdi6EwFwomF9Ms/5y5cZ4/hhcjlaOtGiGQoU7ULhBKcWwZePR8PjZ641KZJxajDFYG/5OyFyK35cLamEuwuLDD4LSKheoBeDKFV8pimD2Bn1/MpnB+ll2YKlHdgeDdSqGdUPDzfTXBO2Qh9VdAkCucIqKfFcJZ8ZEMc3zre06n0Em4L/hBwk96kSVp/PGffZ/R4JQ0jz7/fgpmWDC8bBqnRJXSa+jcGVVR9bFAcoVwwAhmrDUqyBUGjb7YLiJXmmb7w9VFm6Lb1LHB61l05ufwpQj02CqWfazERlOolBBwOQ 8CdPcMZ5 M9M1TlNv1ILZsek5jMFi28doZQtf/OiUVZQPECUHxztlMWwmUf50bawlD5otFNeGE0HVtr2A0NgI5eqSUMeX6r9k33hIRLJe4D5Jwh0170BngbvoVmmwXuUMz7PTuiIeHrsJuhsAPzBbPWcUY1DuQgBpS1IedWfN/AInuFYKrx1rOoAb6FHmOq/XCtVLCcOo7avUawOUO0W/56AlDg5ZGSLHkFMHm8ZvdcU95YRsTjG1gf7whevgkkKensThN7VvB8U+u1NBaqAFsn6pQo+X9Ukn84Q== 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 Fri, Jul 12, 2024 at 09:07:45AM -0500, Dan Carpenter wrote: > Hello Roman Gushchin, > > Commit e548ad4a7cbf ("mm: memcg: move charge migration code to > memcontrol-v1.c") from Jun 24, 2024 (linux-next), leads to the > following Smatch static checker warning: > > mm/memcontrol-v1.c:609 mem_cgroup_move_charge_write() > warn: was expecting a 64 bit value instead of '~(1 | 2)' > > mm/memcontrol-v1.c > 599 #ifdef CONFIG_MMU > 600 static int mem_cgroup_move_charge_write(struct cgroup_subsys_state *css, > 601 struct cftype *cft, u64 val) > 602 { > 603 struct mem_cgroup *memcg = mem_cgroup_from_css(css); > 604 > 605 pr_warn_once("Cgroup memory moving (move_charge_at_immigrate) is deprecated. " > 606 "Please report your usecase to linux-mm@kvack.org if you " > 607 "depend on this functionality.\n"); > 608 > --> 609 if (val & ~MOVE_MASK) > > val is a u64 and MOVE_MASK is a u32. This only checks if something in the low > 32 bits is set and it ignores the high 32 bits. Hi Dan, thank you for the report! The mentioned commit just moved to code from memcontrol.c to memcontrol-v1.c, so the bug is actually much much older. Anyway, the fix is attached below. Andrew, can you please pick it up? I don't think the problem and the fix deserve a stable backport. Thank you! -- >From 8b3d1ebb8d99cd9d3ab331f69ba9170f09a5c9b6 Mon Sep 17 00:00:00 2001 From: Roman Gushchin Date: Fri, 12 Jul 2024 18:35:14 +0000 Subject: [PATCH] mm: memcg1: convert charge move flags to unsigned long long Currently MOVE_ANON and MOVE_FILE flags are defined as integers and it leads to the following Smatch static checker warning: mm/memcontrol-v1.c:609 mem_cgroup_move_charge_write() warn: was expecting a 64 bit value instead of '~(1 | 2)' Fix this be redefining them as unsigned long long. Even though the issue allows to set high 32 bits of mc.flags to an arbitrary number, these bits are never used, so it doesn't have any significant consequences. Reported-by: Dan Carpenter Signed-off-by: Roman Gushchin --- mm/memcontrol-v1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/memcontrol-v1.c b/mm/memcontrol-v1.c index 6b3e56e88a8a..2aeea4d8bf8e 100644 --- a/mm/memcontrol-v1.c +++ b/mm/memcontrol-v1.c @@ -44,8 +44,8 @@ static struct mem_cgroup_tree soft_limit_tree __read_mostly; /* * Types of charges to be moved. */ -#define MOVE_ANON 0x1U -#define MOVE_FILE 0x2U +#define MOVE_ANON 0x1ULL +#define MOVE_FILE 0x2ULL #define MOVE_MASK (MOVE_ANON | MOVE_FILE) /* "mc" and its members are protected by cgroup_mutex */ -- 2.45.2.993.g49e7a77208-goog