Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp2419988ybi; Mon, 17 Jun 2019 04:37:12 -0700 (PDT) X-Google-Smtp-Source: APXvYqx2SoJmiQBPkn7Zo0n/tyCeEKxg1M51Udlf6FzqvBFcFyYOEdjWoX1YYgvKfSVp8rDnWZxL X-Received: by 2002:aa7:9834:: with SMTP id q20mr71640225pfl.196.1560771432784; Mon, 17 Jun 2019 04:37:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560771432; cv=none; d=google.com; s=arc-20160816; b=eX2jWyUk3K2GvqMC/i3Ba87CvBr424JEu3/oQO1LjuZMirEpw/lL3uGQr1U4T95faT 8BMtrQ3dX4Bs1GMpQ2HGHe3I5mxcha4bt8AAcKIwZh4EFHwk2X7PM/YtzzP/NcjuWNJJ vx6X07qOwWud7IMO533EdOB2q9ZTIBDL7MW++WoB9utwdxpN8hQCntI6q0ek+bO5UG+j C54+hsZg8eacFDMZsJnopqduOFsvaKiKBlMyNebnCDSLxCIHxMGhkEzVjWv4EvMFMIIe DPgxl/je4XOaEku7DI95dSaiFbdBWLMFgaFJObknzB9ieod8/kH2RHLKp+lx0qDSfJVJ pdnw== 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=gkr0xLowoZ9zRhiUqHnhq6qtO2gggzv7LSma7jtIdA0=; b=HUZpERUPfYbOPSpXnppLWwRa3puvlNO1UZPYqQUvtX3BsYUTKxL9Ke56bqcdU6KFNt aBSTsUcLmsdcVqCTlchrErLIytQqkqHCLoBHXU0MWhd55yqSMO21IguZS15iF43DMILO zUD4ocAAgXCGCZZQ2ybdp1p/C2WgquWvj24CgBZ5ykJjWf9pD51KnSV6bfWubckuxRdB IRSG687y/l7HWmJSTZrsOXR5xx1yDi6G897ywBBB7ury+A/2yCg0OQDprRO5p7XfDnAP 8d1oA02l1J6+hf1few8qOZvJ5C2NEqJF259ujf1pTBt7QylQVEwdpc/C2dnK62NyJHvj grfw== 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=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o20si9610963pjp.48.2019.06.17.04.36.56; Mon, 17 Jun 2019 04:37:12 -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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727948AbfFQLfA (ORCPT + 99 others); Mon, 17 Jun 2019 07:35:00 -0400 Received: from mga12.intel.com ([192.55.52.136]:54390 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727876AbfFQLe7 (ORCPT ); Mon, 17 Jun 2019 07:34:59 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Jun 2019 04:34:59 -0700 X-ExtLoop1: 1 Received: from xxx.igk.intel.com ([10.237.93.170]) by fmsmga006.fm.intel.com with ESMTP; 17 Jun 2019 04:34:56 -0700 From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= To: alsa-devel@alsa-project.org Cc: Jaroslav Kysela , Takashi Iwai , Liam Girdwood , Mark Brown , Pierre-Louis Bossart , Jie Yang , Cezary Rojewski , linux-kernel@vger.kernel.org, =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Subject: [PATCH v2 03/11] ASoC: compress: Fix memory leak from snd_soc_new_compress Date: Mon, 17 Jun 2019 13:36:36 +0200 Message-Id: <20190617113644.25621-4-amadeuszx.slawinski@linux.intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190617113644.25621-1-amadeuszx.slawinski@linux.intel.com> References: <20190617113644.25621-1-amadeuszx.slawinski@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Change kzalloc to devm_kzalloc, so compr gets automatically freed when it's no longer needed. Signed-off-by: Amadeusz Sławiński --- sound/soc/soc-compress.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c index 03d5b9ccd3fc..ddef4ff677ce 100644 --- a/sound/soc/soc-compress.c +++ b/sound/soc/soc-compress.c @@ -896,16 +896,14 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num) else direction = SND_COMPRESS_CAPTURE; - compr = kzalloc(sizeof(*compr), GFP_KERNEL); + compr = devm_kzalloc(rtd->card->dev, sizeof(*compr), GFP_KERNEL); if (!compr) return -ENOMEM; compr->ops = devm_kzalloc(rtd->card->dev, sizeof(soc_compr_ops), GFP_KERNEL); - if (!compr->ops) { - ret = -ENOMEM; - goto compr_err; - } + if (!compr->ops) + return -ENOMEM; if (rtd->dai_link->dynamic) { snprintf(new_name, sizeof(new_name), "(%s)", @@ -918,7 +916,7 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num) dev_err(rtd->card->dev, "Compress ASoC: can't create compressed for %s: %d\n", rtd->dai_link->name, ret); - goto compr_err; + return ret; } rtd->pcm = be_pcm; @@ -954,7 +952,7 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num) dev_err(component->dev, "Compress ASoC: can't create compress for codec %s: %d\n", component->name, ret); - goto compr_err; + return ret; } /* DAPM dai link stream work */ @@ -965,10 +963,7 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num) dev_info(rtd->card->dev, "Compress ASoC: %s <-> %s mapping ok\n", codec_dai->name, cpu_dai->name); - return ret; -compr_err: - kfree(compr); - return ret; + return 0; } EXPORT_SYMBOL_GPL(snd_soc_new_compress); -- 2.17.1