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 5318DC5B552 for ; Tue, 10 Jun 2025 06:28:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C5B7E6B007B; Tue, 10 Jun 2025 02:28:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BE4EF6B0089; Tue, 10 Jun 2025 02:28:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AD4626B008A; Tue, 10 Jun 2025 02:28:07 -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 860EA6B007B for ; Tue, 10 Jun 2025 02:28:07 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2F57E5ECE8 for ; Tue, 10 Jun 2025 06:28:07 +0000 (UTC) X-FDA: 83538511014.01.99C1BAD Received: from esa2.hc1455-7.c3s2.iphmx.com (esa2.hc1455-7.c3s2.iphmx.com [207.54.90.48]) by imf16.hostedemail.com (Postfix) with ESMTP id 3A98518000A for ; Tue, 10 Jun 2025 06:28:04 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=fujitsu.com header.s=fj2 header.b=QU+GI3F3; spf=pass (imf16.hostedemail.com: domain of lizhijian@fujitsu.com designates 207.54.90.48 as permitted sender) smtp.mailfrom=lizhijian@fujitsu.com; dmarc=pass (policy=reject) header.from=fujitsu.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749536885; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=T8NkzVjDCSvyEFoWXtYYaetdJq6M+vpCgY2nc4ymUSY=; b=sus09c0p02Jlb9fHpGdi7sEDZqKDSgDVTJMt1m7WU0jahdHVbk+O9IO0vxJ9JpRBTAjloZ hKU/hnCko5e2eiTBkxMinSPDSwhl157/QuJ0A5bkXP/d+n1dcw/5lvSBNLetS2QB7+1VrF mv9R5ASPAolutPNUc5nQBNQdk+1d4wY= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=fujitsu.com header.s=fj2 header.b=QU+GI3F3; spf=pass (imf16.hostedemail.com: domain of lizhijian@fujitsu.com designates 207.54.90.48 as permitted sender) smtp.mailfrom=lizhijian@fujitsu.com; dmarc=pass (policy=reject) header.from=fujitsu.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749536885; a=rsa-sha256; cv=none; b=xtuaSxNUKaoPh7VeepfKYxr06dTHv3jvTr8m3SSqfi6d3s6chDOwgfr5Vl58EfGtpauD39 m5Y9y+TN9+Ux/Swwq3aJh2Ftos6XmKW0IhDdt6r6StrgZYC0ZJjRMX+c2IGtUjTQTa7OdC 9PLs6AzK2mqJr5mlb3FX7wP/APpwfWU= DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1749536886; x=1781072886; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=8Q+3ecZIOla7HmlI7e/qao3HRBpcoMYWCofrI5L6AQA=; b=QU+GI3F33/59Ije+//LvRpGVi+VPrca+8vA7NSmJ9ot+twZA+tkCsKnv k8supAPr8+CwbtZPVtNovGHGwiV5OjGUac/AnJZOlL6BHtTWmDltn22OW Y1qbppp/8CqqXjBEYS061bIWUjnnVrXqzdIlKdqnLeQKLvehywBGL5vLq w3rWKk/bFRlumEM5xHBpVJjjzB6/OCZI2KJaLEcUFbRnTvQWEwNMzDMp5 BNKJaF55t1iGnzw3trM2CBRGnxGPFaocFklGw2Jg6tHWAAB5IqocGvmAL mmEUs0w2jsTUFFdUJTaiXAiliNFzV3mNPMES5mHx6kOdpXjAhM0QZeLJN g==; X-CSE-ConnectionGUID: yOAvl6ySSCW/58hP/JAHEw== X-CSE-MsgGUID: 8ekvtzfQQw+55DnasXc4UQ== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="202209164" X-IronPort-AV: E=Sophos;i="6.16,224,1744038000"; d="scan'208";a="202209164" Received: from unknown (HELO yto-r1.gw.nic.fujitsu.com) ([218.44.52.217]) by esa2.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2025 15:28:03 +0900 Received: from yto-m1.gw.nic.fujitsu.com (yto-nat-yto-m1.gw.nic.fujitsu.com [192.168.83.64]) by yto-r1.gw.nic.fujitsu.com (Postfix) with ESMTP id 8085CD6FBC for ; Tue, 10 Jun 2025 15:28:00 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by yto-m1.gw.nic.fujitsu.com (Postfix) with ESMTP id 2CB47CFA20 for ; Tue, 10 Jun 2025 15:28:00 +0900 (JST) Received: from FNSTPC.g08.fujitsu.local (unknown [10.167.135.44]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 96B4E1A0071; Tue, 10 Jun 2025 14:27:58 +0800 (CST) From: Li Zhijian To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Li Zhijian , Ying Huang Subject: [PATCH] mm/memory-tier: Fix abstract distance calculation overflow Date: Tue, 10 Jun 2025 14:27:51 +0800 Message-ID: <20250610062751.2365436-1-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 3A98518000A X-Stat-Signature: n7keqrjm87m6syr9dqz5x5i1pa8q48dj X-Rspam-User: X-HE-Tag: 1749536884-972701 X-HE-Meta: U2FsdGVkX1/F31W+ZugRNA3/mIe8gBQgezBMs1NxO/p7/QUQkIOdAAZPmgAPIWCqck4xaqTjoyCo/hfFFFdQKSvqe1jPSEZJFkb7jryEd8FlNGTfRUx6DYwyx/Fy0xZFyuWCCcbVs5DYnDQ+B3561dMDOr3qXc8kJOXNb6sbjbACcKkCXifAWOyvSHbLXEM0KvVrY6hXN6Pv2A+XLo4ONiNGI3d8+KZUa0dtUfYJM2j88WR9O+ZWSUZnnq2OBYmYZ1quyN24WUXOVFlhxrkRMX/dPnHq7/mrNfgWol/AJTK5JH/K9GAMlERTMUE+PW9GUg9sbMmFkrcrpzS6bbMcl1RHb6wk32bVt9fj/Ntp9sLB4x002EZLGrW9AZ0ZoF11+qyWCYX5e6qygc/0RnaVbVx1BsAyS+rOXb2KhBLjUXoEi8Kz9pZN0ExQB6PUgtcSb2qsgJZ1E/VgTFu9ApVrO/WI/9bPeUqjsQKoosp1TcAgpERimMUq7i76pp624tO6gJ20SgRmTihFuiLbtAohMDWwW/C5LF6qxpzaOPjlcAtEKoOHrUTMz0WWGK23exuMMkOg13x++l5rpAK9Ow2XPlZnZnHMSaR2N+pMkLXpsQUTVepzz4AAYd+OInDOTlvWPRnqes1t4OECesF5unIQvwPySHHvB+6BIyDBIE4YWIxWm+cquNJJ8JyRtIOdtgiT0/cwMth8rQURX3vbOG8tLrMFYJzxzUj9q1OU22v17i8Twjb2pquqKMYDk/bo1KGxdKjVtS/qLYlptF6x+EX52W7qaCAXoCYyWFsiDZVP5sH/l8E0q+FvCEFKCYDx8WAycqRICMQ1j6hzRiHfzKwJGJwa0zp+AGoBXQDdJ2QI0ubwyLRFo5YbAvdfs/xBdqL7s86dldAb+bjHK2NTif/yfM9Xk2BpBKoRGpdST374/OuH5xm7hpWuQppPhRh4h7s6WXF1FyLoCN9Y3oxg2hx ZzHg4Gr8 ZGEhmplszql0SiSUk1zqd58iIk1uAODB4r8AL9MU74yXdJEE= 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: In mt_perf_to_adistance(), the calculation of abstract distance (adist) involves multiplying several int values including MEMTIER_ADISTANCE_DRAM. ``` *adist = MEMTIER_ADISTANCE_DRAM * (perf->read_latency + perf->write_latency) / (default_dram_perf.read_latency + default_dram_perf.write_latency) * (default_dram_perf.read_bandwidth + default_dram_perf.write_bandwidth) / (perf->read_bandwidth + perf->write_bandwidth); ``` Since these values can be large, the multiplication may exceed the maximum value of an int (INT_MAX) and overflow (Our platform did), leading to an incorrect adist. Change MEMTIER_ADISTANCE_DRAM to be a long constant by writing it with the 'L' suffix. This prevents the overflow because the multiplication will then be done in the long type which has a larger range. Fixes: 3718c02dbd4c ("acpi, hmat: calculate abstract distance with HMAT") Cc: Ying Huang Signed-off-by: Li Zhijian --- include/linux/memory-tiers.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/memory-tiers.h b/include/linux/memory-tiers.h index 0dc0cf2863e2..7a805796fcfd 100644 --- a/include/linux/memory-tiers.h +++ b/include/linux/memory-tiers.h @@ -18,7 +18,7 @@ * adistance value (slightly faster) than default DRAM adistance to be part of * the same memory tier. */ -#define MEMTIER_ADISTANCE_DRAM ((4 * MEMTIER_CHUNK_SIZE) + (MEMTIER_CHUNK_SIZE >> 1)) +#define MEMTIER_ADISTANCE_DRAM ((4L * MEMTIER_CHUNK_SIZE) + (MEMTIER_CHUNK_SIZE >> 1)) struct memory_tier; struct memory_dev_type { -- 2.41.0