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 5A567C7EE3A for ; Thu, 29 Aug 2024 08:14:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E7FAF6B00C4; Thu, 29 Aug 2024 04:14:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E2F5D6B00C6; Thu, 29 Aug 2024 04:14:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D1EBC6B00C8; Thu, 29 Aug 2024 04:14:48 -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 B01306B00C4 for ; Thu, 29 Aug 2024 04:14:48 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4FE4B80A51 for ; Thu, 29 Aug 2024 08:14:48 +0000 (UTC) X-FDA: 82504571856.30.CDD6F27 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf02.hostedemail.com (Postfix) with ESMTP id 0470680011 for ; Thu, 29 Aug 2024 08:14:45 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of dev.jain@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=dev.jain@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724919216; 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; bh=fWPUpem+6/TJKgcOMWH4cPp2RBC3qmJ/c/xgfnr43ww=; b=pxjAZhAINJDip6v0ziZ3EkPJjGebOBEq/zW4IJsOzMv4TOGJr0T5Bi/6HApUzYmrrYeG8E JX+GfdBNv1VEK7eK5F+Xu1w6h5s9dSSTjRvR5S0u8D42w4Xr0karUvWCVplRTe5QOzqMt0 YeaHC522ficguxtg5yyOIvyoFLcIVdw= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of dev.jain@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=dev.jain@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724919216; a=rsa-sha256; cv=none; b=Ivl+3/qppyzmh0AWt+eXXIoBxIJtPT1Z6enGyVXHdRDdOm/Z1PX5FfHdDndam7F4pZJ5gf kKHGOPAB8S7zWB0Ocul2TMLNBJbpsJYQUP59+J62C5tc6EgTsI8KfoF79PiKt9zpNTT3zt RBXS/hvLtx3ziJgbbDYuHa/NR4HMQ+s= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 23FFDDA7; Thu, 29 Aug 2024 01:15:11 -0700 (PDT) Received: from [10.162.41.23] (e116581.arm.com [10.162.41.23]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CB3FE3F73B; Thu, 29 Aug 2024 01:14:42 -0700 (PDT) Message-ID: Date: Thu, 29 Aug 2024 13:44:39 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: tools/mm: Use calloc and check the potential memory allocation failure To: Markus Elfring , Zhu Jun , linux-mm@kvack.org, kernel-janitors@vger.kernel.org, Andrew Morton Cc: LKML References: <20240829055621.3890-1-zhujun2@cmss.chinamobile.com> <716f7466-562d-4bbe-a8ec-851a0b289db5@web.de> <37577635-89c9-4afe-a30d-add02c0eb896@arm.com> <22213ddd-90b3-4d33-aa80-4b3500a21a2e@web.de> Content-Language: en-US From: Dev Jain In-Reply-To: <22213ddd-90b3-4d33-aa80-4b3500a21a2e@web.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Stat-Signature: y14hcx6ypjccd517ntwsqbdh346y47s5 X-Rspam-User: X-Rspamd-Queue-Id: 0470680011 X-Rspamd-Server: rspam02 X-HE-Tag: 1724919285-369666 X-HE-Meta: U2FsdGVkX18zzmD8xxlVObqc6nzS15/V7GBbQWdaQ+ujKD3vf4DE8EoAqWyXWyMiF5ALttjbZGjV8z2vsI0r3g+i0DteUWk6/uKzMNj79vQ8RT4rCNY/TPJmDsrFNqP2qjUmrDziUG1PR/WO8x9NXlQkQi7cL7/uq9uCD3W55K0fnuCw4hGscNOOyYebV6pMu22oB+qMONoujSnlduq5vn90KmXMiTGIIeM0yxhU0XaMDzkygGtqquDVyCfctd04j2D5pmAKHzbYCVI3F4a42YM7GyyyRGawa2nkhv+GGyGCS59Oh7oIcSavywIVMBYHZTOD3nxXd6axkRUi0JOqQep+loj8T20npx8vFFSM+esBtAqb0vBNhfnZZ8XzUJihxIeqJajbcRnfX7j69WhUutpJMDvFoe0Nr4V0WHGGI+mtzA8mjPSvH4Zv9xFx4oOBmvuuIcSVUVZihsmP8b5SEHhVKgcSAQ2+nkqcUIuaT7TghtjEuAaL+nToGK7R39HMxl+g57DaZx48yZzrnkUBCjfvnaDJVQm7rt02Fcuym8JTdCwDRaeoNUCuTt2UASjlLhHzJfpuJwqb8GrO/4Qy6ADamy6rA/E15nSjjk1iXGB86sUdEJDC60stHqjFh61p0m8sPkhOi00xkzMYwZ6FyhJfnvwwxQL3bPLWhqrfg1o8ejN8IKWC4rqDF/qeN8SrW15NdjThr1eXdjkhiKm5soQSKKVTLG0JzXeQYAR0wqC/XR6uBfNZFAfVKcpKPnJOzcKC6OfpktCzvI6LKfZM14+V24/k1ufNHGit2en9ZYyt7ZmXBuUE0nXvA4I+TaxQ5kzJ7HDX0tcCtaS+2YfyP48un9Tt12ZKKjCERjX5F4HDC5x6oQCtw6Fxf7LeP8lhz5hQSGHPJM3Md+d9MFmLhtOrY28ul26MEMbJPVKovW92m+1C4Y64/iH5vUgCHXGp1x3ZfcI+KJhOD/QrI0y D7kOxWCF wTkISVm4q0nFH5StzOLbtVq1E1hDP/IIgjC0AR/H/NYGqThyn66T5N/gvp2ot4eSShZtLxzgt06oFLLg2mIC7Rc49aB/GHY4nZpipF6v/pHPd+ib4Tpsz/eBDJaZOjSSE57tRNhFyMp1vzmg+GpmrtIs0XhNqzakFaaff 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 8/29/24 13:25, Markus Elfring wrote: >>>> Replace malloc with calloc and add memory allocating check >>>                        memset(…, 0, …) call by calloc()? >> Calloc returns zeroed-out memory. > I propose to improve the change description considerably. > > >>>> of comm_str before used. >>> * Add also a null pointer check for the detection of a memory allocation failure. >> Which is exactly what Zhu has done? > Can the commit message become nicer anyhow? I agree. The commit message should note two things, first that a malloc followed by a memset to 0 can be reduced to single calloc, and second that, "add memory allocating check" can be replaced by "add null pointer check in case of allocation failure". > > > … >>> * How do you think about to omit the statement “fprintf(stderr, "Out of memory\n");”? >> Why? > I imagine that a returned null pointer can eventually be sufficient already. > Would you get helpful background information from the variable “errno”? In case of calloc failure, errno is always set to ENOMEM, so we are guaranteed that any failure is an out of memory failure. > > Regards, > Markus