Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1767866ybl; Sat, 11 Jan 2020 02:25:06 -0800 (PST) X-Google-Smtp-Source: APXvYqx5VQUbbXcKdUXFGRuTdLSc6sMmFpozYXznhw/NPzd8cnw3dx/RK2myJBJJYz7Y/0FqYiMb X-Received: by 2002:a9d:3a1:: with SMTP id f30mr6173528otf.215.1578738306852; Sat, 11 Jan 2020 02:25:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578738306; cv=none; d=google.com; s=arc-20160816; b=CL/ZUjOadDY/eXJr8CfS4Ps+b6Y5UqCppdPN7x8KVggv5tLpMrkFRIRQ+/n+U6ESAV IOyeqn+shPeL77EVDpLZ7wW6AA1TnD0g15zeHDJXbl2cEl3uALIgupedSS+WLz59Jq1I U0PJLVp+/L9T8K3gg2YehDaoXkLuXDuRmAddRMn3pEkEoKMaNkQdbSGZYBVFCtZSUU2x LAhWM1zgo6KUtdjUIDWkF0fP4Fb1ZzbReBrtNQJa2cBGLfcD4WEDfQLw4rWdtadnTfIF K83jQ3PcomEDaBke/WyPRp1ERDBBykQu5Bt8Z5oQ6ZYCcr7GEvLakjWvgEnNtOD7dZpS 0fFg== 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=jPfJYlchOhI9j1zICb+cxoJT95eI/CiyrTaWpPQngPM=; b=g+QXB9ZKzI5lloqt8nkM55ENYNJeQ3U4JHdhpzz0/uo58dIBBgXSaNiwPbwORWI2Hb ZOi6fu1Hu7H6+agel7MiNgHJeVZPcWYPTFVTfTQNsRKB40RFU/rW6MXomWEHJz0+um3F 1N+0V86iaiVJ9OTV5OnWwq5ssnaeGCjRGF26ge5S2uwsbpqjnY1s8s048qI02raCSsOp psyrdSyUDPq1y2KOnNGMW/RopIdQKYy2FF41uSdqSKtHcMeNtCCoO1rlu7z/m0krBUdP HEM9dBKnImJedUBphY6yNNQSSDq1+x4mlDE/lQhd2sFG8ZOHrXGCHGmbYQj6TOaI8Fsu t9IA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=lygiZJS6; 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 o206si2843354oih.143.2020.01.11.02.24.55; Sat, 11 Jan 2020 02:25:06 -0800 (PST) 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=lygiZJS6; 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 S1730890AbgAKKXK (ORCPT + 99 others); Sat, 11 Jan 2020 05:23:10 -0500 Received: from mail.kernel.org ([198.145.29.99]:49656 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730789AbgAKKXI (ORCPT ); Sat, 11 Jan 2020 05:23:08 -0500 Received: from localhost (unknown [62.119.166.9]) (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 B32DF20880; Sat, 11 Jan 2020 10:23:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578738187; bh=M7HQ865n/QAKmQEHDY5qkcuhxcXhnjjq5IZ81ggnCXA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lygiZJS6tQH6r0a+38KBFebQN5BneMAYIyj33x2rttdNQ0pCoO3gCjjt6z3MHo6Og N8nIGSoShlMxS4Sd3JMIaAJXBPsDWxA9anaoRoiKUAOUStg7NzsRZ96Cben57wfWTM rFP/1vji9+6yx0vXWxo6Ztvl2U6Uy0PrGxqCqsYE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ranjani Sridharan , Dragos Tarcatu , Pierre-Louis Bossart , Mark Brown , Sasha Levin Subject: [PATCH 5.4 046/165] ASoC: topology: Check return value for soc_tplg_pcm_create() Date: Sat, 11 Jan 2020 10:49:25 +0100 Message-Id: <20200111094925.134358232@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200111094921.347491861@linuxfoundation.org> References: <20200111094921.347491861@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 [ Upstream commit a3039aef52d9ffeb67e9211899cd3e8a2953a01f ] The return value of soc_tplg_pcm_create() is currently not checked in soc_tplg_pcm_elems_load(). If an error is to occur there, the topology ignores it and continues loading. Fix that by checking the status and rejecting the topology on error. Reviewed-by: Ranjani Sridharan Signed-off-by: Dragos Tarcatu Signed-off-by: Pierre-Louis Bossart Link: https://lore.kernel.org/r/20191210003939.15752-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/soc-topology.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c index c92e360d27b8..fd2d22ddc81b 100644 --- a/sound/soc/soc-topology.c +++ b/sound/soc/soc-topology.c @@ -2031,6 +2031,7 @@ static int soc_tplg_pcm_elems_load(struct soc_tplg *tplg, int size; int i; bool abi_match; + int ret; count = le32_to_cpu(hdr->count); @@ -2072,7 +2073,12 @@ static int soc_tplg_pcm_elems_load(struct soc_tplg *tplg, } /* create the FE DAIs and DAI links */ - soc_tplg_pcm_create(tplg, _pcm); + ret = soc_tplg_pcm_create(tplg, _pcm); + if (ret < 0) { + if (!abi_match) + kfree(_pcm); + return ret; + } /* offset by version-specific struct size and * real priv data size -- 2.20.1