Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp1063079ybe; Thu, 5 Sep 2019 09:44:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqzF5+6EWWWNljrAVGp8/oujlrh4ibPpNF9k9NBO3SinIOIiNNf4jeJjwK82NpfHub0KSlKH X-Received: by 2002:a65:5082:: with SMTP id r2mr3989412pgp.170.1567701885520; Thu, 05 Sep 2019 09:44:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1567701885; cv=none; d=google.com; s=arc-20160816; b=JEcLNb6yyV4fS9r03XCKF3aWqUPGNEI4+JZ2V5QH17BRXF70+0f4f4kI3n2H2NoMQe V/3PXzUj/6okIBBJZjBEmawa8xis9vt5IvSQ08LboKTNKd63WtsvXHjB/GaL/pjEn/K3 T50m5N+KdjivwbHes2eYTIz2K74eFfCiKddO5SmOd4P+cT/kuM083bv1cr/2oUqoKXRM dxtrjg62KCg6fFiEynL6YE0+bAoJqqgsvHtZ8vYH+F/eC7/ReJzqIggvAQ2LQ8eBKpv5 e3wC6IYj0Xsf8T7VWa6vSLcTOrOSszbKg0DobVJyeOr9Mesp+SqHCFfPfo4iJEQLMdgw 12hQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=DTuqYyvKfGXfYiCQSrPipcglRWvy2u0iJHHijrNMHvA=; b=0AjA3YhGyteiUbWBS4fCyQAK44jV08mL/2zAm5LMVJ9Rw1N9A8ItWUw3VENgSAFwXm 6rn3Il4SqAIsJQ9pOA6ZIuHEfnzPwFT+7d3pRRdsKCM29fzICnWNKKDHaqx8/Ys8n3n4 yzEZeMRrI3Gj95j+7sVQ3mMk2PLkPnq7OQgRuki/eJlGtqezq+7Fg1H0WMlvmeqTrppc ltmBfP42qCDsmMzBES2sGBB2/PD9eg7Ep4rciY2bqEFt2JIptVz9rIKh45Nc4ysnp4j0 0d02dDTMc9qk/og2QhnG2wGiTKoLAtgnkIv9rfc83c/SkCQltB+a5o81qKEoIvf34IzY leeQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m4si2499718pjs.62.2019.09.05.09.44.28; Thu, 05 Sep 2019 09:44:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389130AbfIEMDe (ORCPT + 99 others); Thu, 5 Sep 2019 08:03:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42408 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389099AbfIEMD1 (ORCPT ); Thu, 5 Sep 2019 08:03:27 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 59D97307D96F; Thu, 5 Sep 2019 12:03:27 +0000 (UTC) Received: from prarit.bos.redhat.com (prarit-guest.khw1.lab.eng.bos.redhat.com [10.16.200.63]) by smtp.corp.redhat.com (Postfix) with ESMTP id A44A2100194E; Thu, 5 Sep 2019 12:03:26 +0000 (UTC) From: Prarit Bhargava To: platform-driver-x86@vger.kernel.org Cc: andriy.shevchenko@intel.com, Prarit Bhargava , Srinivas Pandruvada , David Arcari , linux-kernel@vger.kernel.org Subject: [PATCH v2 9/9] tools/power/x86/intel-speed-select: Fix memory leak Date: Thu, 5 Sep 2019 08:03:11 -0400 Message-Id: <20190905120311.15286-10-prarit@redhat.com> In-Reply-To: <20190905120311.15286-1-prarit@redhat.com> References: <20190905120311.15286-1-prarit@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Thu, 05 Sep 2019 12:03:27 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org cpumasks are allocated by calling the alloc_cpu_mask() function and are never free'd. They should be free'd after the commands have run. Fix the memory leaks by calling free_cpu_set(). Signed-off-by: Prarit Bhargava Cc: Srinivas Pandruvada Cc: David Arcari Cc: linux-kernel@vger.kernel.org --- tools/power/x86/intel-speed-select/isst-config.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tools/power/x86/intel-speed-select/isst-config.c b/tools/power/x86/intel-speed-select/isst-config.c index 78f0cebda1da..59753b3917bb 100644 --- a/tools/power/x86/intel-speed-select/isst-config.c +++ b/tools/power/x86/intel-speed-select/isst-config.c @@ -603,6 +603,10 @@ static int isst_fill_platform_info(void) close(fd); + if (isst_platform_info.api_version > supported_api_ver) { + printf("Incompatible API versions; Upgrade of tool is required\n"); + return -1; + } return 0; } @@ -1528,6 +1532,7 @@ static void cmdline(int argc, char **argv) { int opt; int option_index = 0; + int ret; static struct option long_options[] = { { "cpu", required_argument, 0, 'c' }, @@ -1589,13 +1594,14 @@ static void cmdline(int argc, char **argv) set_max_cpu_num(); set_cpu_present_cpu_mask(); set_cpu_target_cpu_mask(); - isst_fill_platform_info(); - if (isst_platform_info.api_version > supported_api_ver) { - printf("Incompatible API versions; Upgrade of tool is required\n"); - exit(0); - } + ret = isst_fill_platform_info(); + if (ret) + goto out; process_command(argc, argv); +out: + free_cpu_set(present_cpumask); + free_cpu_set(target_cpumask); } int main(int argc, char **argv) -- 2.21.0