From patchwork Wed Nov 8 21:33:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 118342 Delivered-To: patch@linaro.org Received: by 10.140.22.164 with SMTP id 33csp5882215qgn; Wed, 8 Nov 2017 15:10:38 -0800 (PST) X-Google-Smtp-Source: ABhQp+SPewIBqZ9ynPcyl0Qv/eYZJTyFyI1ZW04fu3JwGXE2nTaa1x+n7QNASkA0jcFS/7aKtAH/ X-Received: by 10.223.160.61 with SMTP id k58mr1643046wrk.66.1510182637974; Wed, 08 Nov 2017 15:10:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510182637; cv=none; d=google.com; s=arc-20160816; b=Y4/jvbBilUHrIPV/6ukra+WuhIPlAqAi51ajVnY0B6aURvNzAHq0f5H8DXTRcdCRtQ HzyqPELdL5xN0f+Eu0eEOwTuwi9xQeYycy2IJpwB42CvCcCfgbqZzxDVH9sps/YisLoz EasTNHVGZyIB/LGJ5noBM23yHzYF4vtyFEpXxAdTtSf8KXe+g7jPDx1J28fzjGHCa0+k FH0KO7QvdiFCBkTRhQTr4q6UE9q77mXhvJQKbeDdz3uM/PZAKXCQhFv2V00K8GWIGMqX Yo3TnLh5jtMymSiKMc9p2nnRTK4fpvNB2H/Un0IM7Gbtc/JZLSbA80YHqUL5MObli407 Sc8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:date:message-id:in-reply-to:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=NfBqV5nLM8rcDb3taYbEaiXBpYdGZqBLhKodIJQ/3No=; b=VuenekY1VnlvrpJYWHwG4VtenHNYp8TlE7UDevGH7ObZiOduzAeLly2ecRC4XfpyTh NPscBoek6OkNyUYiEsj+k5Y7fSDaHnYFyrglayTF4GPnkrKISJAacCLbaJXtqHK3sDRs xWQN/pyr1uGPph3UtQ9QsiMT4bkn2FbzDsq2UH+0eJp8dktJlx0n/vaDVidYeKlJ+CIe 2+wMqvB+lOgWxZypgs/ooilj5IupoJwNmyZYD7LW0fnqoWZwqrVxiUvKNNnGv4P4vGGL Hb7x4FkBRCkkCi6meQ9ls3NfOClIWqCwknmec0VfXnqbGxD4ShrAzGNUOEB/ZC+SeLT0 rJ7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=bbI7r3nA; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org Return-Path: Received: from alsa0.perex.cz (alsa0.perex.cz. [77.48.224.243]) by mx.google.com with ESMTP id l11si4243026wmc.100.2017.11.08.15.04.35; Wed, 08 Nov 2017 15:10:37 -0800 (PST) Received-SPF: pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) client-ip=77.48.224.243; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=bbI7r3nA; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 440EC2676D8; Wed, 8 Nov 2017 23:53:02 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 7C4292676ED; Wed, 8 Nov 2017 22:40:28 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail1.perex.cz X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, SPF_PASS autolearn=disabled version=3.4.0 Received: from heliosphere.sirena.org.uk (heliosphere.sirena.org.uk [172.104.155.198]) by alsa0.perex.cz (Postfix) with ESMTP id CA08D2676C4 for ; Wed, 8 Nov 2017 22:36:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sirena.org.uk; s=20170815-heliosphere; h=Date:Message-Id:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner: List-Archive; bh=IIqSmoOFHKrP73Bk6LNWYqM4Ps6Et8kGer5dXvwxKbM=; b=bbI7r3nASFZS XytIGRzse0uJAFkegU/GMgImmQJnZNHV718iwFiBg0vuMji1/ysXaiBQCiGBQ3vVi8/A6PNz4UtlY reBdPjFhz+n+YON4LFm/mp11dJaFFxz6KWdQ4k/idG/Fc8npNVgT7Lk7414m1xsJ3I2WyEephzlTU sC4lM=; Received: from debutante.sirena.org.uk ([2001:470:1f1d:6b5::3] helo=debutante) by heliosphere.sirena.org.uk with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1eCXyM-0003hS-Ec; Wed, 08 Nov 2017 21:33:22 +0000 Received: from broonie by debutante with local (Exim 4.89) (envelope-from ) id 1eCXyL-0005YD-JM; Wed, 08 Nov 2017 21:33:21 +0000 From: Mark Brown To: Pankaj Bharadiya In-Reply-To: <20171107104626.25800-5-guneshwor.o.singh@intel.com> Message-Id: Date: Wed, 08 Nov 2017 21:33:21 +0000 Cc: alsa-devel@alsa-project.org, Takashi Iwai , Guneshwor Singh , Liam Girdwood , Patches Audio , Mark Brown , Vinod Koul Subject: [alsa-devel] Applied "ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case" to the asoc tree X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org The patch ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case has been applied to the asoc tree at https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark >From f8e066521192c7debe59127d90abbe2773577e25 Mon Sep 17 00:00:00 2001 From: Pankaj Bharadiya Date: Tue, 7 Nov 2017 16:16:19 +0530 Subject: [PATCH] ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case In the loop that adds the uuid_module to the uuid_list list, allocated memory is not properly freed in the error path free uuid_list whenever any of the memory allocation in the loop fails to avoid memory leak. Signed-off-by: Pankaj Bharadiya Signed-off-by: Guneshwor Singh Acked-By: Vinod Koul Signed-off-by: Mark Brown --- sound/soc/intel/skylake/skl-sst-utils.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) -- 2.15.0 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel diff --git a/sound/soc/intel/skylake/skl-sst-utils.c b/sound/soc/intel/skylake/skl-sst-utils.c index 369ef7ce981c..8ff89280d9fd 100644 --- a/sound/soc/intel/skylake/skl-sst-utils.c +++ b/sound/soc/intel/skylake/skl-sst-utils.c @@ -251,6 +251,7 @@ int snd_skl_parse_uuids(struct sst_dsp *ctx, const struct firmware *fw, struct uuid_module *module; struct firmware stripped_fw; unsigned int safe_file; + int ret = 0; /* Get the FW pointer to derive ADSP header */ stripped_fw.data = fw->data; @@ -299,8 +300,10 @@ int snd_skl_parse_uuids(struct sst_dsp *ctx, const struct firmware *fw, for (i = 0; i < num_entry; i++, mod_entry++) { module = kzalloc(sizeof(*module), GFP_KERNEL); - if (!module) - return -ENOMEM; + if (!module) { + ret = -ENOMEM; + goto free_uuid_list; + } uuid_bin = (uuid_le *)mod_entry->uuid.id; memcpy(&module->uuid, uuid_bin, sizeof(module->uuid)); @@ -311,8 +314,8 @@ int snd_skl_parse_uuids(struct sst_dsp *ctx, const struct firmware *fw, size = sizeof(int) * mod_entry->instance_max_count; module->instance_id = devm_kzalloc(ctx->dev, size, GFP_KERNEL); if (!module->instance_id) { - kfree(module); - return -ENOMEM; + ret = -ENOMEM; + goto free_uuid_list; } list_add_tail(&module->list, &skl->uuid_list); @@ -323,6 +326,10 @@ int snd_skl_parse_uuids(struct sst_dsp *ctx, const struct firmware *fw, } return 0; + +free_uuid_list: + skl_freeup_uuid_list(skl); + return ret; } void skl_freeup_uuid_list(struct skl_sst *ctx)