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 83440C369C2 for ; Tue, 22 Apr 2025 18:50:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A09FC6B0006; Tue, 22 Apr 2025 14:50:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 993E76B0008; Tue, 22 Apr 2025 14:50:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8639B6B0006; Tue, 22 Apr 2025 14:50:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 64E3B6B0006 for ; Tue, 22 Apr 2025 14:50:09 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 0AFF5BF791 for ; Tue, 22 Apr 2025 18:50:11 +0000 (UTC) X-FDA: 83362569822.12.07D26CF Received: from smtp.smtpout.orange.fr (smtp-18.smtpout.orange.fr [80.12.242.18]) by imf09.hostedemail.com (Postfix) with ESMTP id D96BA14000B for ; Tue, 22 Apr 2025 18:50:08 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=wanadoo.fr header.s=t20230301 header.b=QEp5Cziq; dmarc=pass (policy=quarantine) header.from=wanadoo.fr; spf=pass (imf09.hostedemail.com: domain of christophe.jaillet@wanadoo.fr designates 80.12.242.18 as permitted sender) smtp.mailfrom=christophe.jaillet@wanadoo.fr ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745347809; a=rsa-sha256; cv=none; b=GYe7eXuddmYxNCsdgxRj+Nz+6s9hz4A2EQlxGPMegDIrss/3Oxu3+wpvb6DrzNmM856p8y vlqna3NOM1xg7QZmKfy3G7LX7hiD9F3rQU23q2gS/H95DtkoidWhvNits7fYCx4lWKAbIa W+g7slQzCEupfDOBzDmE3pEkReGUvGM= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=wanadoo.fr header.s=t20230301 header.b=QEp5Cziq; dmarc=pass (policy=quarantine) header.from=wanadoo.fr; spf=pass (imf09.hostedemail.com: domain of christophe.jaillet@wanadoo.fr designates 80.12.242.18 as permitted sender) smtp.mailfrom=christophe.jaillet@wanadoo.fr ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745347809; 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=S9Ycz3uF+XpWMAYTXkteVNEOxwIekKxbOCFlC0Tad3E=; b=JD97g3HB8HoUs1Pt5GY311jryP8IP7gVDePjR353lBvq+gfyhqRQPwHCRBj7H0nYFVOX3N ImuQxGiMiVEen8koMPAvFnMbObr16r9E6XR4qwuMqi/5V1U7712YYgV9tmXb7E5Czw7inj jv9PYaeNN7JNKkaqu8jzrAFish3W1GU= Received: from [192.168.1.37] ([90.11.132.44]) by smtp.orange.fr with ESMTPA id 7Igzu5oOQXKsE7Ih2uGtfj; Tue, 22 Apr 2025 20:50:07 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1745347807; bh=S9Ycz3uF+XpWMAYTXkteVNEOxwIekKxbOCFlC0Tad3E=; h=Message-ID:Date:MIME-Version:Subject:To:From; b=QEp5CziqpDekxPanV0xZmXw9JxlXGxulEa8w40PKTbNiK08ebxVFNMb32MQNYS2Lb xmdmZUGPnjCrV3xlmpuQaMGW9VCmaATGOVJXgvqtdVzYFnZRBkG1Y1GInSPArcEF3Z Xw3N4EZVkG1R+lmTAR5DmxdnsMLpMsEdzfzGtZ6dEqZVdoQxeFBLFeQvBCfqsRWOkS +FOQsHiLPTUris2bkXptt+5zU6lUA0jZbQIYSO2NfALnnSbbKKYmgO9K/bmo/5qrpq YFKDjlhohzapY6lzcXCnKtsOc0ysEOSoJ7uU/F8EmYfnwsPtcZFv7yVeniiBqzsPeR 1UKKTt69eOsPg== X-ME-Helo: [192.168.1.37] X-ME-Auth: bWFyaW9uLmphaWxsZXRAd2FuYWRvby5mcg== X-ME-Date: Tue, 22 Apr 2025 20:50:07 +0200 X-ME-IP: 90.11.132.44 Message-ID: <501ea9b1-017b-4517-8de4-7056803e7127@wanadoo.fr> Date: Tue, 22 Apr 2025 20:50:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/damon/sysfs-schemes: using kmalloc_array() and size_add() To: SeongJae Park , Dan Carpenter Cc: Su Hui , akpm@linux-foundation.org, damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, linux-hardening@vger.kernel.org References: <20250422182331.59651-1-sj@kernel.org> Content-Language: en-US, fr-FR From: Christophe JAILLET In-Reply-To: <20250422182331.59651-1-sj@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: D96BA14000B X-Stat-Signature: sguaa57gf1giy64riawc6mgsfa4apfx8 X-Rspam-User: X-HE-Tag: 1745347808-573322 X-HE-Meta: U2FsdGVkX1+1+t+9/riGkfl3b9j45hQUge0b/5rvP6mDk3UZahJ0ZT2yNjADjxblQPJkYnwQCRCLZ5UqfoQ7rJkZmGj+mz4ktIpcYonTSdRhMd4C8TnbiAPLYzvHabI/tcjGpphpauU1O9dRacb35/wjYBfNN0kvF8IeDfJZPV68eOWitPu4E1mJO2zM7UxuFnqzIC6P9HhljBLIMLqpqPxFpXxS78XtfeK8pSPRu8kWOQqcJ578qeMuFBsLm2rhMV9WybMxHw6sJyEcUFct5qISjzm+R5MxuLcXFsOLJHDM0Utzk0qVmLAmpBmUV/DDcXSpwKb1lFRZmgkQUJrO5+KdkmYt7uSbZ5M6TCjquMxn9kUhWzX7c8Uh649fPmMpYfLtCYKSyg5LAh+FxzR51zqhosImUswmdXD5wW55sl5erjU6RfgzcXUYaGEj9VMd2p2fWbHfJTC7vF84wWnWEuulUfBLXmle0LnImqb77Y94/kNoXuUDvePMU+JKCCBoJzhyHRdORCgZkse1a76icYpoY+RNR7aIW8oZcvJ7c3aIxogUxoNoSU9S4+f6XkGxfXnPP+Z8U+WEq3fjmUqZyEhvDkX+Zrk3v/LUydHFebi+U9agKa3Z9TqW9om6UYspfqMhcsJm7M8KExlBHYuQt6gu/yuxjXKLot4pufFYR4uF/g7g8DFYUvnXs1TVB1FozlgX04Q4wCntdXAmzc8QhzSOJawNsI8GsbDmd053lvlE1B/8AaxyRlN4XZfibSC1yzkPKEOMXhGNSXA7bB9NTm5T3r/L8TmYY6OW/80ahY0fOwLxBP5sAuCkhBle9NDHP6gAV/YAJBTq3o2pxFE6ktoUDrSTYWb7rez+A3dJ+J44HCqUtrrWz4fu44iO9q+mkMDiQF+GHpAs2Z7gGfccrsKCR53h8yMjL0l3XtFQetmwu2tNIIvnpCsM11yJ5WtU61WNR0zink3nWHMkMF9 L2fZRTH2 X2p+n1tienVdaow2gvrZxAoGdfhXEjRNIyrshHBXq/iX7wdCf8a0hsETBQ+O2ti5YC/53amh2z+cL+yAciw+2H7pCoYBwBVYu3FwnT2+J+TGIc7mw8PS/bzuv6w1QSeqnYtfd+UOfwEozhoI6aNP2y+mPeynH7QIj2cuR3T4Bk/Ecxl/MX5NuRybMGoM9J+btc9jlmKviUFMiQ5iSoBDkHLIHuBR6sk90USwyIObk6C5JPmfSEvH6NB8onp/Yn6dbxSBPRLirY33t/rfVVZroCCg/seKn0BsbeQqJ1RTVK7Q3vUAxyIovrnEMk2/ZIPlQ0LsHATQ7lJUvDp16KGBhXeTMbtYRdBg9SKnfHj9YkhNUBZcbz4rVkObm2ZmgSFGsPUaW5++d0qrLMNm+U30A6PNWrhs8mLx9f11FljV+wXXhtTi3GlB4GBnQiIy5Mo4LZCMhyavn0bcoL+5pZZ/OqG75/rElHrylReB5NRmIY5B/nNFYYuXjXvdyTp1pgoOG2kiA X-Bogosity: Ham, tests=bogofilter, spamicity=0.000004, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Le 22/04/2025 à 20:23, SeongJae Park a écrit : > On Tue, 22 Apr 2025 13:44:39 +0300 Dan Carpenter wrote: > >> On Tue, Apr 22, 2025 at 01:38:05PM +0300, Dan Carpenter wrote: >>> On Mon, Apr 21, 2025 at 02:24:24PM +0800, Su Hui wrote: >>>> It's safer to using kmalloc_array() and size_add() because it can >>>> prevent possible overflow problem. >>>> >>>> Signed-off-by: Su Hui > [...] >>>> --- a/mm/damon/sysfs-schemes.c >>>> +++ b/mm/damon/sysfs-schemes.c >>>> @@ -465,7 +465,8 @@ static ssize_t memcg_path_store(struct kobject *kobj, >>>> { >>>> struct damon_sysfs_scheme_filter *filter = container_of(kobj, >>>> struct damon_sysfs_scheme_filter, kobj); >>>> - char *path = kmalloc(sizeof(*path) * (count + 1), GFP_KERNEL); >>>> + char *path = kmalloc_array(size_add(count, 1), sizeof(*path), >>>> + GFP_KERNEL); >>> >>> Count is clamped in rw_verify_area(). >>> >>> Smatch does a kind of ugly hack to handle rw_verify_area() which is that >>> it says neither the count nor the pos can be more than 1G. And obviously >>> files which are larger than 2GB exist but pretending they don't silences >>> all these integer overflow warnings. >>> >> >> Actually rw_verify_area() ensures that "pos + count" can't overflow. But >> here we are multiplying. Fortunately, we are multiplying by 1 so that's >> safe and also count can't be larger than PAGE_SIZE here which is safe as >> well. > > Thank you for adding these details, Dan. I understand the size_add() change > can make warnings slience, though it is not really fixing a real bug. So I > believe there is no action item to make a change to this patch. Maybe making > the commit message more clarified can be helpful, though? > > Please let me know if I'm misunderstanding your point and/or you want some > changes. As sizeof(*path) = 1, maybe, just change it to: char *path = kmalloc(count + 1, GFP_KERNEL); CJ > > > Thanks, > SJ > >> >> regards, >> dan carpenter > >