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 1C8AFC369D1 for ; Tue, 22 Apr 2025 10:44:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BA3736B0005; Tue, 22 Apr 2025 06:44:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B50C46B0007; Tue, 22 Apr 2025 06:44:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A17C86B0008; Tue, 22 Apr 2025 06:44:45 -0400 (EDT) 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 84A036B0005 for ; Tue, 22 Apr 2025 06:44:45 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 0A2F3C072D for ; Tue, 22 Apr 2025 10:44:47 +0000 (UTC) X-FDA: 83361346614.19.C65A5C8 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by imf21.hostedemail.com (Postfix) with ESMTP id 034A31C000B for ; Tue, 22 Apr 2025 10:44:44 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=DhHO7f4T; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf21.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.53 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745318685; 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=E2ZlSb8C4TopIE9lOnaluqGxSWa7ZTy/niRKFxlJXsg=; b=WVQqySvkxP5kDFKrFRLUVIvMT718Xk+kIFxIG9wBvbmsHuRaq+qePEs3KYMFlGpPV+fS1R wBAHjesCJKMqbvmi6glCwAPlpLFr6v6XPU2RmyO0xJcGiLuLbd9sR2zoeTSVJdhpo9iZpb c27ot5uLmgMVATGmHo8WJIWE0N5QOSw= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=DhHO7f4T; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf21.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.53 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745318685; a=rsa-sha256; cv=none; b=YWcX22+K3PqoWNvBZzNJS2Q+p7qPxUc0LLYR5Z/z1UaGibgncHtAdOx2KvgnIPZfxrfF7N j28/eUSB4S/JHod7T5GlouzGk9krJtWGIMMoAlyIgcJn0lJH4vzdTHS1JCBrss0ikYP4n7 2EEfCpkH+k3mMPk+l/HM31MHWLacA3k= Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-43edecbfb46so37001515e9.0 for ; Tue, 22 Apr 2025 03:44:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745318683; x=1745923483; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=E2ZlSb8C4TopIE9lOnaluqGxSWa7ZTy/niRKFxlJXsg=; b=DhHO7f4TA4yH+WgLFrE+Gbko+zIm2sWNGu0u2zNduP4CHHTRYdoF5eItKUf4in+bDw h3kTpJde24NVCfmtb6rwotXQYUzze4MYj7+qIDbYviphroLxJElynM5a6xwGCS8EcoXv iAZMLt3XAlCm1ZI/UTcHVHvx57Rabsor1aZggZzN/C78ZpyBibItVeDEyfuzvjUQO+Uh EIblajsP1w0Mhs1d+bYerHunLP2RhvabrJKQkGhQW2X+tn2eyBB1QGZzeVUaOV5Wi0Zd 0TjwIL/ecLGTuDlNg0ZeE0Z7dNjCEaG7fdoe9cIbbeg/O9vsjp9eap67DwpE87IM57Yz W5/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745318683; x=1745923483; h=in-reply-to: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=E2ZlSb8C4TopIE9lOnaluqGxSWa7ZTy/niRKFxlJXsg=; b=FQXLbxHzcu5ErTMQ3OHZHFVMSsP0mOJ1zCwl0eoV/Lq+OTDEi/6ql8xeTz4nX22Kw4 oEJszpVH+weay691Af3OLaRLty9SABt6hq5AbDbZVYPFTcNRAPQyMP42G1kMZ9udz4hk vrS3zkriu5wpjeTDUeZ/5FOWqje7bXIC61kKiv6SPNbF/aq8g9NEHgYpKECtLMog9qU8 NxqRe6ybOUjgwpkwrG2QV39xwDGcOg+4JH4f9udDel+hC5wbYUGIB/j1fcbgGQBnYNyV dFnnA7JPnBNxhZDFzIdzR8Lqho4rLo3fFwGZvnhpcvA+tRZNvswtOiPuZKAMndh9/IRv +j1w== X-Forwarded-Encrypted: i=1; AJvYcCXA/RTRW5W5cfTsintCYb330Fp5G168nVDyMoMs4lajhzThCvS0XGIM6boAB8DC0R6NxtSJVs8/RQ==@kvack.org X-Gm-Message-State: AOJu0YyUGl1WfBibp/9xMft2CO3LXyZK8V3FEpQr84m8X1B/alkUPgCC ge5tyo54AJ0ff4/843rFmQURbbhbuCmu9+K78ZmPOHEOH0qiVHSdiKH2DOyPCr0= X-Gm-Gg: ASbGncvUtK5ZbFufOs/ePfhY41kfJDgutbE0YAn6ckoa7JfMrHv3tmFzYUApsTv5NJ/ wBl4M+gd9j9KWL+tRSRm89gLJm1svyM6YaZJBeqnu7NFiX3+l/6Ow1hovbRpWzzGSKItrh1bJiN pcDd0uZ2RFmVh4Db7+y2AFFd5iTxCZhVJ0AWpM1t5zgQnX5NwoAwBswLwkDjfZfysCW5dMqy5Ni rHFPq1PFuqT7KNi6PksKYY38W6AcXj/sK7ijjpjNXE05CqTah0oFF9HLtk32MZyPZ9F8yzqt4Ep sZceRyXl2VAo5szgb46M6habOGEQUdPPiso1EzVcsmYVxozw+xHxcW87 X-Google-Smtp-Source: AGHT+IGmQB87kk25ssevPLdZ7b8PjzlRTbK4qnCrbpA2fIVwAWfGo22Ft+WhXErpVr6BVQJ+4nZjZg== X-Received: by 2002:a05:600c:5395:b0:43d:db5:7b1a with SMTP id 5b1f17b1804b1-4406ab96f63mr141741765e9.12.1745318683311; Tue, 22 Apr 2025 03:44:43 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-4406d5d712esm166577665e9.36.2025.04.22.03.44.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Apr 2025 03:44:42 -0700 (PDT) Date: Tue, 22 Apr 2025 13:44:39 +0300 From: Dan Carpenter To: Su Hui Cc: sj@kernel.org, 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 Subject: Re: [PATCH] mm/damon/sysfs-schemes: using kmalloc_array() and size_add() Message-ID: References: <20250421062423.740605-1-suhui@nfschina.com> <2713f419-760b-4ccc-aeed-de9c4c899506@stanley.mountain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2713f419-760b-4ccc-aeed-de9c4c899506@stanley.mountain> X-Stat-Signature: pcgfn57cdbrg3a6mego8d7jbu7uqympq X-Rspamd-Queue-Id: 034A31C000B X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1745318684-315493 X-HE-Meta: U2FsdGVkX18Gc3F1oFcuPDUss7S+f0Xu9GKhz8IDL5q/ZjY/Qz4pjWEW0P+g/F3hTM3orACbGQDwM4Fz0JvnamlSQ8Gab3Yde7kh6z6GwF7eNhjTSatnn7VMK5kDDuIYvdhSXGjA999smmxjsmAoRQ+fGFj/8JmQu71ECKLfVs5J4WCaeXQ6VYXJumIMVng7X/OFl+bve65sdl5jnNiOEiB4h9w975lG+ZFZPBzwSbU3KGBfiLm+K8nBiRHyTCJC126iFJ+SmD+ASOx5LUuH5J7Tvl0uIujYGJoFYvEQQzQltvrWctLa8T8TgH63VWoL0WEwbgY/X/7C5J+gYdrdBsAxaF96PnUiK8pRdX6VR93wZXy7Vv+2lQJ+NkOb9cYJqOBvn8APKNeMj1pkDWm9T50NJgmyAqG8bkNYvTp8BNHdMmRsYNF5YP2LuGcC9E7I+w/9ws4Y1NNeXNlmoLLLL2NOxHkDYsApYHR+bpMrbDOV2pScc1Np5kZQVX5mUOrCBTXdtg4HXOEF1Xt1ND26eBlPfKIJFxsDh/bSf7wbuos0wT3lM82mta5R3tWSVl9qpNNJLxOUpWZxVa3vOLPiC2cyiv5E58IdZRha6z1p3d0H3HqkhyogqI4WXlF0XHf6FIxwXv6VRHgAb1vmHvP44+F8KCg9P1p962UzCn9JdcQn8DtU+g04P1hOHn2j8kC9fJe2a4vxUT14mN8J7FIlzgnqvgBww+d4xWJQwGHM8HSTsGYMLRrBBLZ+To9rsetHhS/1lxyHf8xeJg60zThPOozdZb4xordRW2BVz1asDNhB5wUG86idz6DBSBLHZvZFvmA7rxg6SeArne0Rq4H59gB8Pa5qZlx0NKj9NBQT4Up0kzQDUPq+2tbjdVgiBsf6FfMQkp2gffUkZiTTc0Eaw/+7U0tXmP7tgte1QECfaEazrhavPWzxbdJ77S6TLBAd1BjPb863DS3ZoGV6DQS bxJ0DeMh dR9uzx995t6haEznPexIefHQZrp+B+43JbLMCJ+ypqqxewrxTStrsZBtWJtatr/aNijm93tXV4DepRNwEfbJh2orCZGeUFcFwYOdPVvbix63AevyC2jkp/+W3yRiYurxG8QfZuNmRRGKARNjbtgM2/wd9anwbJBjbDJ5R5QPw6OAv/AAH+vFoq/5lQITxVhiJ76R41XGOGtexhOh+uQ1UmscCrReGB/1d5dKwlG2ln/jlGIHMAHbaRDmIDepwk3DI1Q5f9qM+zOTWKdzdH4TGGUwtVPz9kDtLeDNevUyLohOen6SL+MGlJz33RxsIw09r882FZmGQry8PbJs3j5uS8y97d5H7xpMQhNXM/FfNSuUG7Ojqvw+8b80RfpKGyPEWFBBJ 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 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 > > --- > > mm/damon/sysfs-schemes.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c > > index 23b562df0839..79220aba436f 100644 > > --- 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. regards, dan carpenter