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 0F11BC7618D for ; Thu, 6 Apr 2023 02:01:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7FF586B007B; Wed, 5 Apr 2023 22:01:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7ACD56B007D; Wed, 5 Apr 2023 22:01:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 673996B007E; Wed, 5 Apr 2023 22:01:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 5783F6B007B for ; Wed, 5 Apr 2023 22:01:50 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E206A1404B8 for ; Thu, 6 Apr 2023 02:01:49 +0000 (UTC) X-FDA: 80649315138.18.2791FEB Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) by imf02.hostedemail.com (Postfix) with ESMTP id 35EC080002 for ; Thu, 6 Apr 2023 02:01:45 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of jiangfeng@kylinos.cn designates 124.126.103.232 as permitted sender) smtp.mailfrom=jiangfeng@kylinos.cn; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680746507; 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=ldGIVHHj3cPgxX9BSF2YGGjQ5ybKr/A082rOUfjcwE0=; b=xc66wNxitlTFaKRtFh8B8SeUbuwsQVHezZhBFc02yU2jxHLuQ21DuutsXWla9gZA5Nuv5r CoH5ArpwZRVJV8Tn6PISyNqLqS/JKvi0xjSNIWDVCvN84l2uT6YCKE+BlqaoILwIWj1gpa Ud8S39rrRygbv2i79SGQPpqY3eGNeck= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of jiangfeng@kylinos.cn designates 124.126.103.232 as permitted sender) smtp.mailfrom=jiangfeng@kylinos.cn; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680746507; a=rsa-sha256; cv=none; b=qBHX28wG7qVkIk4KZvjSD923XTcSH6zLfkyGhA8owzIr8iuEyaxD3jp9SOuV6rUtczElMT undW5+TWLmiLPcRmBFcQiY+u8m0nPH9mhRVNaY75dVbRI69+e2jqxJagPdaTToKbFgy9/H Ei9pirxza4ghY+DIHx5LeK0+Mz4CupI= X-UUID: 6087444942d642b198feddb737f80198-20230406 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.22,REQID:8d61358a-9d42-4073-a308-50cb367fedf9,IP:5,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:-9,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:-4 X-CID-INFO: VERSION:1.1.22,REQID:8d61358a-9d42-4073-a308-50cb367fedf9,IP:5,URL :0,TC:0,Content:0,EDM:0,RT:0,SF:-9,FILE:0,BULK:0,RULE:Release_Ham,ACTION:r elease,TS:-4 X-CID-META: VersionHash:120426c,CLOUDID:5389e3f7-ddba-41c3-91d9-10eeade8eac7,B ulkID:230404153214E4ZTVHD4,BulkQuantity:2,Recheck:0,SF:38|24|17|19|44|102, TC:nil,Content:0,EDM:-3,IP:-2,URL:0,File:nil,Bulk:40,QS:nil,BEC:nil,COL:0, OSI:0,OSA:0,AV:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-UUID: 6087444942d642b198feddb737f80198-20230406 X-User: jiangfeng@kylinos.cn Received: from [172.20.12.214] [(116.128.244.169)] by mailgw (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 128/128) with ESMTP id 1536921828; Thu, 06 Apr 2023 10:01:35 +0800 Message-ID: <6e74d3f5-b792-7576-2340-fb4d67490a6b@kylinos.cn> Date: Thu, 6 Apr 2023 10:01:33 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH] selftests/mm: fix memory leak in child_memcmp_fn Content-Language: en-US To: David Hildenbrand , akpm@linux-foundation.org, shuah@kernel.org Cc: linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Ming Xie References: <20230404031234.78272-1-jiangfeng@kylinos.cn> <5c415fa5-1637-883d-8136-fc4280274406@redhat.com> From: Feng Jiang In-Reply-To: <5c415fa5-1637-883d-8136-fc4280274406@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Stat-Signature: 43gdon93zpywbwzkpdh3iap7dkmnmsst X-Rspam-User: X-Rspamd-Queue-Id: 35EC080002 X-Rspamd-Server: rspam06 X-HE-Tag: 1680746505-918060 X-HE-Meta: U2FsdGVkX1+ST6IEVKkDGPsGn7Vm6mKCibMCWLXbwUnT37YJUuPC5J87Tg9tHsXnbc1aGktn8TZrxE9IZA4nllq8uM/DElrfZc2eAB1ZWz77NEGR6J5w4WAc1mTTI2JvSWg87Cf0adE6Z3x3JnPIdKt4AWKGUoxctJQZZOVUfgKuLQU1fTahI7PP7WDDe91vHNzhGhMJ+ZiyCn7vAc2oC7Ryfi60NBwVc021fofX7ZrifFsqKkXB4xD4Z180uk70qPO8x12bmz7aK7WHt6IEBP/XlWeGXEJwkmAsVDf9YDtAMjDvbAJrmPMxi9Je1QWeT63Oayq4/XPjnmw9HxJVx75Ws0TfNz4pDjyRD6ec2uxmJou3G/nTe7KnAB238CnrulcLTdvIhh38adH5Kvk5iFo1DDUGlpC7ZFEytXlZEq/qxbi7ZAZQL94x7tcLGG7bWIrNuMqUTWD7EDFm8qssYHOY0WRYxQRbxV2J8zix3oOptb8Pf6+kKMj0CotSfWWZ7wrN4Gg2C6qFV5RSrLK24N45+/Q1VV4Dr1CwHIb6JznICzZXQovtq2NvAJQ5Fwou2DzJpQPeKOt/ITjnkq5Bun0In5JusFaMyTcZ6zLIsouyb/W/h3rZr47aU9O/7v47uLELhBw5XIJ6Rqu++bK08kfz4exo7p5MsExhT+huLtFokYcPh9nQMN0xqqDLILg3Z4ItdiCAP5lp59vnZgTksuUwujeZFjLsYnOB6NAJgx7UAbMI7fePhr7o89RRgS/bCf5mVR5F/5pqAqOLwDzfLrGF0LHN8rDw0OF3ztcUuKhJoVUT5t3HlX+X0+HJBuWyjvw5gR7pOH1YmLM3B6SCe4K6J8gxLElaA0lvfBeiBfdoXVWihdXFrjKvL/fSyfNgAB99phhCLV0M5/T2F6FyD9cEUHtstVhFGAV3ftkBmc2NnbgNGDShAc2vltRCBkqrGisAd9bRLsBxpyU5lHb Kr76suUe NfTqp7DEEU1ueThG1ALIucydCkpvBMOzCYkeIn/R8l1q67RW8wQgw9WuHnk8lg6qVkh5bRA/1IE6cLHVgvpTiAMgoDxJBHNG7aro1kdRFlpX+3rI= 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: On 2023/4/4 15:31, David Hildenbrand wrote: > On 04.04.23 05:12, Feng Jiang wrote: >> The allocated memory should be freed on return. >> >> Signed-off-by: Feng Jiang >> Suggested-by: Ming Xie >> --- >>   tools/testing/selftests/mm/cow.c | 9 ++++++++- >>   1 file changed, 8 insertions(+), 1 deletion(-) >> >> diff --git a/tools/testing/selftests/mm/cow.c >> b/tools/testing/selftests/mm/cow.c >> index 0eb2e8180aa5..c0dd2dfca51b 100644 >> --- a/tools/testing/selftests/mm/cow.c >> +++ b/tools/testing/selftests/mm/cow.c >> @@ -162,6 +162,10 @@ static int child_memcmp_fn(char *mem, size_t size, >>   { >>       char *old = malloc(size); >>       char buf; >> +    int ret; >> + >> +    if (!old) >> +        return -ENOMEM; >>         /* Backup the original content. */ >>       memcpy(old, mem, size); >> @@ -172,7 +176,10 @@ static int child_memcmp_fn(char *mem, size_t size, >>           ; >>         /* See if we still read the old values. */ >> -    return memcmp(old, mem, size); >> +    ret = memcmp(old, mem, size); >> +    free(old); >> + >> +    return ret; >>   } >>     static int child_vmsplice_memcmp_fn(char *mem, size_t size, > > NAK, the whole point of this function is that the child process will > exit immediately after executing this function, cleaning up > automatically. > Hi David, thanks very much for your review and I think you are right. While the OS provides a cleanup mechanism to underwrite this, I think it makes sense for the application to ensure that its own logic is complete and correct.