Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp1741760pxv; Fri, 2 Jul 2021 11:01:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzNUreswQdqWfndZPu664ckBoLOP6np5DUgCcQU3StwyS5w1UIc7ge4psfZnKEfrq4DR8/M X-Received: by 2002:a17:906:dc91:: with SMTP id cs17mr940122ejc.389.1625248871127; Fri, 02 Jul 2021 11:01:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625248871; cv=none; d=google.com; s=arc-20160816; b=HDrNpHXfH8PthiZAB9/PJlFyIIFZtrj3s82/NN0gBaYxytV3xkZ4hS7f9vsGMQqe+p 3xPkGtSFVXVjdX8MHpp36qy5vaGS+VPRdywx7q07Ihkt+rM0z0grzrXCjm8TruCNcBzA Xx5PRpk5N1BsA/K3RQ5d89q7gBDzN11WxklOV/dUfIQFMtyT5p7ZIJG7ZuBNoaFrL+Ym GP5y7bNwHCqz2FCe/u1PEZ9AjGRxdJiVhgE6G02NRNx7JebbpaWHIq4sctLnCsyyn8H0 CZ34D+Ct0lu8ZIsNEOEeELXqZzItJrQ/pv37wkselqSrffD79H6W50hee7+3lkq3ogb1 gXWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=bH2VLPwn2Tw5Fci26CA9klqoW7GKiCH8eNpPSLhYbj8=; b=C8l1hrXyDlFIg/Qf+ZVBrnGXuZmCoFbfLMqLxgsYu7yVjtAhlJBDKqdHFsX1m06Pu9 rdD3edhH0dcaDXpW14lnMEl3BwaNHcUyDVIQw/mXIOKrIOx/ibcuDyTzsPkSgXukyK1K 8n1OMA7Q7jhw7I2vdVBadS83zqGfvlG4UuHIUMwZEUYVzP6T7PrSIbrvtVTvdwOLSCLY fdHLxMfvSe6OFd/jHM+W/mI027bo5xGpUfCxM39xC5n3BY0If5JMmfWMJSgWdRne9yrp 5m2Oa0ar93pSJH2Dnb3/7KcO1OIpddJJJCMO7DkvxASvSTnxs9oBd1VkZh0gaOifmLN9 vkRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=jEYTwUdy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i9si3965839edc.312.2021.07.02.11.00.48; Fri, 02 Jul 2021 11:01:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=jEYTwUdy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230150AbhGBSA1 (ORCPT + 99 others); Fri, 2 Jul 2021 14:00:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:54876 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229499AbhGBSA1 (ORCPT ); Fri, 2 Jul 2021 14:00:27 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id F090760E0C; Fri, 2 Jul 2021 17:57:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1625248675; bh=zM86ilOMJ34NHEAC7D/6ndvhtKKr1f/qz5+h4JAAl7E=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=jEYTwUdyp7chib8XCkQNNrFL4dqMjx7fwsRLGbVlHK7fqPtpjaxxiYnVoLn7khNDR 6ym9aNbGFhKnTefPNC5sPRlYojCJ+W/AdpcoOa6HioI2g8xz+wQXdwS38HZTUirWwk R/TEUumYOKXDo2tyisO4tGNcz9pC+Q8yroxoOH1xQPQdnk89NhX0OJWB2F4KZZRJc1 JlqaCA3Enb2Fr8CHNPj8x0+yY6rWKn8L8Nk+I92AhZ0Dsvt0wPV+i4wDHUBFI7kG4G V12c2RSM+E/IHgKfolCGIaixzMGpZj81DEHGIrOfLeUTLNhhgUR6xD3FCrJepF671N uRutPekGpMcpA== Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id 89C8E40B1A; Fri, 2 Jul 2021 14:57:51 -0300 (-03) Date: Fri, 2 Jul 2021 14:57:51 -0300 From: Arnaldo Carvalho de Melo To: Leo Yan Cc: gushengxian , will@kernel.org, mathieu.poirier@linaro.org, peterz@infradead.org, mingo@redhat.com, mark.rutland@arm.com, alexander.shishkin@linux.intel.com, jolsa@redhat.com, namhyung@kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, gushengxian Subject: Re: [PATCH] perf: tests: fix some mmemory leak issues Message-ID: References: <20210702040955.631618-1-gushengxian507419@gmail.com> <20210702135641.GA22592@leoy-ThinkPad-X240s> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210702135641.GA22592@leoy-ThinkPad-X240s> X-Url: http://acmel.wordpress.com Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Fri, Jul 02, 2021 at 09:56:41PM +0800, Leo Yan escreveu: > Hi Arnaldo, > > On Fri, Jul 02, 2021 at 09:58:52AM -0300, Arnaldo Carvalho de Melo wrote: > > Em Thu, Jul 01, 2021 at 09:09:55PM -0700, gushengxian escreveu: > > > From: gushengxian > > > > > > Some memory leak issues should be fixed by free(). > > > Reported by cppcheck. > > I don't think this patch does the right thing. You could see that the > memory is allocated in arch specific function sample_ustack(), and the > "buf" pointer is assigned to sample->user_stack.data; and the memory > actually is released in the caller function test_dwarf_unwind__thread: > > noinline int test_dwarf_unwind__thread(struct thread *thread) > { > struct perf_sample sample; > unsigned long cnt = 0; > int err = -1; > > memset(&sample, 0, sizeof(sample)); > > if (test__arch_unwind_sample(&sample, thread)) { > pr_debug("failed to get unwind sample\n"); > goto out; > } > > [...] > > out: > zfree(&sample.user_stack.data); > zfree(&sample.user_regs.regs); > return err; > } > > So this patch will break the testing and doesn't fix any memory leak > issue. You are right, those buffers are allocated in those functions and then _returned_ via sample->user_stack, the tool (and myself, ugh) got fooled, I'll remove that from my local tree. Thanks Leo! - Arnaldo