From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964777AbbGCHtU (ORCPT ); Fri, 3 Jul 2015 03:49:20 -0400 Received: from terminus.zytor.com ([198.137.202.10]:36166 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932193AbbGCHtO (ORCPT ); Fri, 3 Jul 2015 03:49:14 -0400 Date: Fri, 3 Jul 2015 00:49:02 -0700 From: tip-bot for Taeung Song Message-ID: Cc: tglx@linutronix.de, namhyung@kernel.org, linux-kernel@vger.kernel.org, hpa@zytor.com, jolsa@redhat.com, mingo@kernel.org, acme@redhat.com, treeze.taeung@gmail.com Reply-To: acme@redhat.com, treeze.taeung@gmail.com, mingo@kernel.org, linux-kernel@vger.kernel.org, hpa@zytor.com, jolsa@redhat.com, tglx@linutronix.de, namhyung@kernel.org In-Reply-To: <1435677525-28055-1-git-send-email-treeze.taeung@gmail.com> References: <1435677525-28055-1-git-send-email-treeze.taeung@gmail.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/urgent] perf kvm: Fill in the missing session freeing after an error occurs Git-Commit-ID: 41b983609a1618e9fa70023d83232ed959056c8a X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 41b983609a1618e9fa70023d83232ed959056c8a Gitweb: http://git.kernel.org/tip/41b983609a1618e9fa70023d83232ed959056c8a Author: Taeung Song AuthorDate: Wed, 1 Jul 2015 00:18:44 +0900 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 1 Jul 2015 17:53:49 -0300 perf kvm: Fill in the missing session freeing after an error occurs When an error occurs an error value is just returned without freeing the session. So allocating and freeing session have to be matched as a pair even if an error occurs. Signed-off-by: Taeung Song Cc: Jiri Olsa Cc: Namhyung Kim Link: http://lkml.kernel.org/r/1435677525-28055-1-git-send-email-treeze.taeung@gmail.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/builtin-kvm.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c index 74878cd..fc1cffb 100644 --- a/tools/perf/builtin-kvm.c +++ b/tools/perf/builtin-kvm.c @@ -1061,8 +1061,10 @@ static int read_events(struct perf_kvm_stat *kvm) symbol__init(&kvm->session->header.env); - if (!perf_session__has_traces(kvm->session, "kvm record")) - return -EINVAL; + if (!perf_session__has_traces(kvm->session, "kvm record")) { + ret = -EINVAL; + goto out_delete; + } /* * Do not use 'isa' recorded in kvm_exit tracepoint since it is not @@ -1070,9 +1072,13 @@ static int read_events(struct perf_kvm_stat *kvm) */ ret = cpu_isa_config(kvm); if (ret < 0) - return ret; + goto out_delete; - return perf_session__process_events(kvm->session); + ret = perf_session__process_events(kvm->session); + +out_delete: + perf_session__delete(kvm->session); + return ret; } static int parse_target_str(struct perf_kvm_stat *kvm)