Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp672374ybh; Tue, 10 Mar 2020 06:14:30 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvwxWP8slpwCxiZ6gGLzZSOVv390o8NmCQfVRgVy8g65hk7vlLpRhkiVVCUPJoU5AA7XGtI X-Received: by 2002:a54:4f14:: with SMTP id e20mr1041162oiy.84.1583846070700; Tue, 10 Mar 2020 06:14:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583846070; cv=none; d=google.com; s=arc-20160816; b=ulBHJ02Tsky1GV5AftvnSOcns/6/Y7Hrdq9viHJyCn3+FBB/YPgD1OUhOqnXUgw4FJ IaqXyIfWDB/bd6ykLoretMesPtss5rqu1HFr+BwbVY8ZWPL8+mPVHoRRZgc7jTimXIpT B1BQnj2kJ7zFqnE8sVl4ou5yO/jgo2ISAmzz7qIZDbsw2AI1YT30d9ngz2zXFGQqvNNZ d2wYTdlQgOmSvBIHk+Ff7Wacbi/g/Sew6yIS98Kz9IQiiuvzAWRssjJ2CxJeIX1OUSir M9XrIti5VmIvvU7e9hVJSdY3O+/TnoQzkR7Dq/pi2RUkQUyOM2Zk35ovvgr77rcl8cEW Jb5A== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=G96UF3qX4hZO9Pp9544Pk9/Kp1MoaUP9N+0uOUKoauw=; b=OXk1N3/u+T3J6RwhVWyJMFo7S6wlD4SzJVkljadLk/CaoFRXVXrgJk4QEcLRdFQ+lC 5ngsuX3E8nHvyt6C29HSvIWsD+mjAHBQGphW7fHDJDTQTfpub769+uaYDIye5TGslImo L4Hs/DWAqbwsdsIiIzVp1qYNDe8Ek95dgmAfg/VtY5MM7EeYj6eYx1/1ok25+uHqh+zL 7RQ/eXdMdZaXNeO1GF3u2Si4EQ3Ct0AVOiaZbRovi9HYh7+dIezrspFChS9AtmD+86o7 Rq23BM8HaQJwRsYeE6ZvGE3+KWZ8rxPBfVoO1vBDUHH3njJHntmvDrCAhm1hpNkBR/jK iS+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=rsu2ttZA; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v22si5665615oic.271.2020.03.10.06.14.18; Tue, 10 Mar 2020 06:14:30 -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; dkim=pass header.i=@kernel.org header.s=default header.b=rsu2ttZA; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731797AbgCJNNx (ORCPT + 99 others); Tue, 10 Mar 2020 09:13:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:36994 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731786AbgCJNNu (ORCPT ); Tue, 10 Mar 2020 09:13:50 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 71A3224693; Tue, 10 Mar 2020 13:13:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583846029; bh=+2vvil5nc479+npVxFLXXZzKyjPWg+sqVM82dkKqrNc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rsu2ttZArCpL4h/hW2XW7Exol4T59UjWsuT09an2Ujh2AcrBWdmJfzONKw/UjfqiM xvkQ9hppru2wuMftNRzXxS5cSGqvUTBcGUta0A8gZBV3qZg0etgHvpRqsVBsl+Tz+X 0EJB4rma73U2ogNkqN9ceW8vX75QBwLOd6N7xuvw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dragos Tarcatu , Mark Brown Subject: [PATCH 4.19 60/86] ASoC: topology: Fix memleak in soc_tplg_link_elems_load() Date: Tue, 10 Mar 2020 13:45:24 +0100 Message-Id: <20200310124534.037010579@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200310124530.808338541@linuxfoundation.org> References: <20200310124530.808338541@linuxfoundation.org> User-Agent: quilt/0.66 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 From: Dragos Tarcatu commit 2b2d5c4db732c027a14987cfccf767dac1b45170 upstream. If soc_tplg_link_config() fails, _link needs to be freed in case of topology ABI version mismatch. However the current code is returning directly and ends up leaking memory in this case. This patch fixes that. Fixes: 593d9e52f9bb ("ASoC: topology: Add support to configure existing physical DAI links") Signed-off-by: Dragos Tarcatu Link: https://lore.kernel.org/r/20200207185325.22320-2-dragos_tarcatu@mentor.com Signed-off-by: Mark Brown Signed-off-by: Greg Kroah-Hartman --- sound/soc/soc-topology.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- a/sound/soc/soc-topology.c +++ b/sound/soc/soc-topology.c @@ -2154,8 +2154,11 @@ static int soc_tplg_link_elems_load(stru } ret = soc_tplg_link_config(tplg, _link); - if (ret < 0) + if (ret < 0) { + if (!abi_match) + kfree(_link); return ret; + } /* offset by version-specific struct size and * real priv data size