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 72458C7618D for ; Thu, 6 Apr 2023 10:37:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D59306B0075; Thu, 6 Apr 2023 06:37:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D08F36B0078; Thu, 6 Apr 2023 06:37:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD1E36B007B; Thu, 6 Apr 2023 06:37:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id AFA9B6B0075 for ; Thu, 6 Apr 2023 06:37:16 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 839B1140387 for ; Thu, 6 Apr 2023 10:37:16 +0000 (UTC) X-FDA: 80650614072.17.BD643C5 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf18.hostedemail.com (Postfix) with ESMTP id 5FB501C0013 for ; Thu, 6 Apr 2023 10:37:14 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=L5HWIXbH; spf=pass (imf18.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680777434; 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=423478JseWRK/OIWA57RxO1tirntH0tu+VKBSXmpanY=; b=nkKdL6lexF0ovE0Zqz97JrosOjPEsrhdwkN5KGVFJ/onZlJvHEj/c5UCzdP82feeVSlQ/U THnEy9y5ewUW83JI9N7dGiqFKkz8OIL0n1YcjO+CbdO6T3TzQiWqEXVJe/XZ4Wa65FfB6E nXd234St1IVcS7OPxTAAOfn+BuAmiuQ= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=L5HWIXbH; spf=pass (imf18.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680777434; a=rsa-sha256; cv=none; b=RKr31iXHkVruuMCsc8DeKeM4ufeC2GmjnzX0LP7/yjblWj7/K0/kDIx83fVoGgqRiWQmGe d/kZiklMcE4I4mjVXrsmUt7j9pGOZJ/KfIN0quRgGmuJnQmXEG/Q8+y8LtbBqsmgGvVfJ0 60qfwjEcNUujw2wJSOxMneP5nBEb6YQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1680777433; h=from:from: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=423478JseWRK/OIWA57RxO1tirntH0tu+VKBSXmpanY=; b=L5HWIXbH0OkhQmuCVAhSLnj4A6OEDEAFaQtIJIjlcspzA54ABICWnuRs/6LBT2SLsKSDTB EoHDKcz4KgN8N2wjnJjj99qDmQFvYqvfH4YGJgmX3so5WKE9AIGQo91bk+IvNsOdHCYoC/ y5caqq6qDT8c3UWlgVpSy8BlCrROuAM= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-371-fvR18ZB3PQi5jeblo3oOew-1; Thu, 06 Apr 2023 06:37:12 -0400 X-MC-Unique: fvR18ZB3PQi5jeblo3oOew-1 Received: by mail-wm1-f69.google.com with SMTP id q21-20020a05600c46d500b003ee570749f7so18516641wmo.7 for ; Thu, 06 Apr 2023 03:37:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680777431; x=1683369431; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=423478JseWRK/OIWA57RxO1tirntH0tu+VKBSXmpanY=; b=Gpq+UBGeAYSf1sFB0fFYj/7Gn6jwwGNZNTAHggqVEjWI7G6cl46Aci7m4GCgSJ3lt0 Zy6KSpOSAdatS5t0ey5EtK/WQrqkrgU4FaV289s/fC7Hk6GhDBv7aZ9iFQWiPAzW7urL YClJpe1obOioyUmvGZz3nwtSoGLHhxP9C1HOHVLgHXQsNmJV4ywxnMR0GCLhRRwqppmI 4AQVYMtn8nT2jIO9Ht4vg0WRO7TziZFYRQuz08lVpSVYFakdFtrGa8eA4is66NloAtLS 1drjPZ/ZUWaTFFVJyAPwABPAMN+XnCEdMMHLIBJYjAqvKr9Bj2uU67bMecpSf0mHpvAV Xj2Q== X-Gm-Message-State: AAQBX9cgSst04XfXJtZbed5pye61/1BfxQtp5eOVMRA2GMjvvnwGakot yV1QE4+mdtPWInrLWEGdB5inwRErSyJIpEpxP0a6RI4dahk+ZhWbeDTLoqwQj39ujeDjl3nrCkA 4tKO/va0A7Rk= X-Received: by 2002:a7b:c7d8:0:b0:3ed:5eed:5581 with SMTP id z24-20020a7bc7d8000000b003ed5eed5581mr3942738wmk.2.1680777431419; Thu, 06 Apr 2023 03:37:11 -0700 (PDT) X-Google-Smtp-Source: AKy350aIyM0TcVhaj7W+9nD4Lz3z92JY+LKul/IOeBeufdoitNg+9FX0dX7oN1tJR4ioomqtEfNlug== X-Received: by 2002:a7b:c7d8:0:b0:3ed:5eed:5581 with SMTP id z24-20020a7bc7d8000000b003ed5eed5581mr3942713wmk.2.1680777430995; Thu, 06 Apr 2023 03:37:10 -0700 (PDT) Received: from ?IPV6:2a09:80c0:192:0:5dac:bf3d:c41:c3e7? ([2a09:80c0:192:0:5dac:bf3d:c41:c3e7]) by smtp.gmail.com with ESMTPSA id 16-20020a05600c029000b003ef71d541cbsm1226611wmk.1.2023.04.06.03.37.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 06 Apr 2023 03:37:10 -0700 (PDT) Message-ID: <35c413a1-02df-21c0-99e1-2e143c945ae4@redhat.com> Date: Thu, 6 Apr 2023 12:37:09 +0200 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 To: Feng Jiang , 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> <6e74d3f5-b792-7576-2340-fb4d67490a6b@kylinos.cn> From: David Hildenbrand Organization: Red Hat In-Reply-To: <6e74d3f5-b792-7576-2340-fb4d67490a6b@kylinos.cn> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: nhkdjsoaz4sts36h7iomzmj3y3i6itaz X-Rspamd-Queue-Id: 5FB501C0013 X-HE-Tag: 1680777434-501137 X-HE-Meta: U2FsdGVkX1/L+/n7PNe8iuHc+PO1t72kvIP5fQwGZskagh2VlnMaYumFf7PtZlNYBjZSfM+nkJI081UOOPu2rICJdvfYtLVbiwcUAszZTOOL/JjvcZyCBYPI16u5lwoQr36M1uUgSI9XIyoAbHNPLaPi6VBZ95c0pTvrf1IZSMBFZdCS4e0HeasIh31O4dXqMzmgaQ8YrvUENTjLApTIF7WR8IrcMFOZlk5ZqUVjZ3FK/m1wkq5dA3ZkbRmySmCPM6SHe6XZg0Tge5UAWmvW1NN6iHFOtJbp25TI87tsRpAZdf2k4j1J/uvLtEQzrtxCSVv4mVCoX9U0BwzwpVVnDaECQfgQ6PhjWYtAV/KKH/nXQj5ZREatSfGEYmJYeNZOXjAeH61a3qA3LPY+isfKpcFWb6idowdbu1PHuu/cSj36tMFE9b6gxOwKhgN1CoAZy/RuWZoEE0wEyug7uZngD6R8iIAPmR3/mnPy67KgqanMJwVnPFgCDnXdhc27tjKjZlcfBFGuu7Oy+ZQNU0JzboUZ+Blua8iRH/0YWbYBV7DugeXLLyTa+baAyp7nH3b2YPzPjZfR8CGGRqTAqLxj5neKAT45bOyDp8MVqsr8tp9t3GgPdo7BjgDK/Jh2fB7DckmGL6L4xyKSx46hCtB4R80Cm6o2yADaXB+GaYOjz/nkntyjocNe3Es/zSy02l5MfKXBly5JQQefcSw8Xf0liBSC30yU+KWBZ9tlC/vY6yozWQ3ZTYS6NMGDCw6DO1w0p/CzhKiJUrBkVteaDdmaKNfCNqx1tj0GWFKweUU+WARNIw38ASezxPhkODsaDFQqcBbsn5h/LAlFrXX9iBTHDxpjfmZRZbfEotlP6+4hfYoODw79bcvIXvWCeen2aSxDQHGzHKeSLh9dGXDKHVasLQfbz0QYIbxO9lt5ig9154V/Y/7xPi5YiwYN/m1l4HGIMEQjaXA6mRcbea+mKfl PUDYddzJ ZmIt4msgKFoGt1ZfBEg2cCVjRRZT9MxQnrypJ+bO4Jizui8wyIFgWspQVVZxyUg5mdx5Y/z8lv1EB//USZEBjuTCSwIrfVLsJRVQgA+MK0IGxqPzIlVISimqfb/nLeGJXFZCFqWKMs2EWzrThQT/JZO3DYorWmC75TXaN+QINpCDmijRugow1eEJ0mMuPRwbZgNj1GOmnfR1Z0+EwaPc+K6TxKVgPn+LzbWjeDpPpZ0U68gea81gf7OytN3nQxV0GgRGymvTsj6mFZaGUiMhYAqW4g2C9QqhP0clHokcwsHdY0AZyipOXBw5rFnivBAmxBHRwOP6o+pQ9KQbvXd6FB19S9OuOQCmqU16OlZa/sZLo8peEAmZ6MRlXGn5/TLBdGa/0IgcLYynuoux0EHDACkvs5nmnGtDpCVwEQ7gdxMT6mr0EdpqB/R4yB+IRjC4+pllDceTGbH2HlnahgK6dxUjYi9xgqtCOP1JN 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 06.04.23 04:01, Feng Jiang wrote: > 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. Maybe on a per-testcase basis (which we do), such that each testcase leaves the process in a clean slate for the next test case. But not for such simplistic things where an exit() immediately follows. If we'd want to cleanup any state before we call exit(), we'd end up in a lot of unnecessarily over-complicating the code. Just look at how many exit()/ksft_exit_fail_msg()/... we have in our test cases. Cleaning up in these cases would be close to madness ;) -- Thanks, David / dhildenb