Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp644753img; Fri, 22 Mar 2019 05:49:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqyPrM7c+towHs2O/N24snXxb/JnQHnqw5A9URsokqb5GGh9L5atIduK9hwZ8GihcVm0j52R X-Received: by 2002:a62:ab14:: with SMTP id p20mr9239917pff.23.1553258963040; Fri, 22 Mar 2019 05:49:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553258963; cv=none; d=google.com; s=arc-20160816; b=FnNLoBwtSraNqSarwG9uodqKiEE26ofMLv2SqsCpJFNemB0tKj0ajKexqQFRyoBOPi vKx/Buus4u+DJKVziBHoQY8XIqicCgd03JTxpUl4E6d9tNRCS28xb+xmtFqex4vJwygr jZK4n+GHT6M4MrJOc7WLAlZFI7QNYtUshFoChSkVh9moG6pAv3nuQrqV4PorRecL6iAR RsttwoLnPZHD/LzqV0YrgRWArAeU2jUvPjWSLS0mvMjtwa7KQOCOXFCjvhqzCkc4m3Wu NTFvzhqse821i9ZKDQn8doe1KkzFLNtjlEqONcC0aOk9Vl21qVgQOBbf3wK0U3T/BUoz 5xeA== 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=O7ZWJwvTOljCA2st6+hXiGMrQUR9urwCPvX9VLkKyGU=; b=igLXoiRxAerVkMrBhemuDHXWigNjpthHWi8xc7S3LLOiA4UHs1t7ERmkE7QQcMtgSF 6YEs+JI+uFbsW59EAh4lVx/PxYoW2ye1TQgSJXQlDfH6I9i5ef7crLo7AN5OxAiNigJD EZBr3x4Un+kDrHbT978cQJ+T9i3Z6fHXJrEX+htEHDc871LhN4YmGE3YK4nnv87jYVc2 R8kjluOZLTkDlSQAIdNF1csgDyf24SYp2zBXTrLMNfbP0uGwxfmgIaLF46t1JQJwrV+e x48lV9VLZj+RhC4sHeuoe2806DXmduZABFKmhEl5V19hNVWqNcZxCEEIY6sIMu89hEy0 g2qQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=UUL2GZmw; 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 u9si6540291pgp.269.2019.03.22.05.49.05; Fri, 22 Mar 2019 05:49:23 -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=UUL2GZmw; 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 S1727596AbfCVMs3 (ORCPT + 99 others); Fri, 22 Mar 2019 08:48:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:34182 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732837AbfCVL5j (ORCPT ); Fri, 22 Mar 2019 07:57:39 -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 788172192D; Fri, 22 Mar 2019 11:57:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553255858; bh=imeGUzyIhoTRZMhgxjK4feDcyBehYIVPFQmN4MBO0Bs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UUL2GZmwsqTPx9l4gz3ulf4wNKkJFQ4gyzoI/r/xXxxMvyOrFRyL06xHbqyhxiTxl kCRIyKMvfsCDUSZE5XWmMcZvoCox2Fi26EhVWzXTQq18ldFi7SOcWy8nzd2bscVQ0e Rk08k7RPS8X0sRL6zNmi8d040PvZmpotE/7txQy0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Pierre-Louis Bossart , Mark Brown , Sasha Levin Subject: [PATCH 4.19 036/280] ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables Date: Fri, 22 Mar 2019 12:13:09 +0100 Message-Id: <20190322111308.345811029@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190322111306.356185024@linuxfoundation.org> References: <20190322111306.356185024@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit c16e12010060c6c7a31f08b4a99513064cb53b7d ] KASAN reports and additional traces point to out-of-bounds accesses to the dapm_up_seq and dapm_down_seq lookup tables. The indices used are larger than the array definition. Fix by adding missing entries for the new widget types in these two lookup tables, and align them with PGA values. Also the sequences for the following widgets were not defined. Since their values defaulted to zero, assign them explicitly snd_soc_dapm_input snd_soc_dapm_output snd_soc_dapm_vmid snd_soc_dapm_siggen snd_soc_dapm_sink Fixes: 8a70b4544ef4 ('ASoC: dapm: Add new widget type for constructing DAPM graphs on DSPs.'). Signed-off-by: Pierre-Louis Bossart Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/soc-dapm.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 653706945222..9b78fb3daa7b 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -71,12 +71,16 @@ static int dapm_up_seq[] = { [snd_soc_dapm_clock_supply] = 1, [snd_soc_dapm_supply] = 2, [snd_soc_dapm_micbias] = 3, + [snd_soc_dapm_vmid] = 3, [snd_soc_dapm_dai_link] = 2, [snd_soc_dapm_dai_in] = 4, [snd_soc_dapm_dai_out] = 4, [snd_soc_dapm_aif_in] = 4, [snd_soc_dapm_aif_out] = 4, [snd_soc_dapm_mic] = 5, + [snd_soc_dapm_siggen] = 5, + [snd_soc_dapm_input] = 5, + [snd_soc_dapm_output] = 5, [snd_soc_dapm_mux] = 6, [snd_soc_dapm_demux] = 6, [snd_soc_dapm_dac] = 7, @@ -84,11 +88,19 @@ static int dapm_up_seq[] = { [snd_soc_dapm_mixer] = 8, [snd_soc_dapm_mixer_named_ctl] = 8, [snd_soc_dapm_pga] = 9, + [snd_soc_dapm_buffer] = 9, + [snd_soc_dapm_scheduler] = 9, + [snd_soc_dapm_effect] = 9, + [snd_soc_dapm_src] = 9, + [snd_soc_dapm_asrc] = 9, + [snd_soc_dapm_encoder] = 9, + [snd_soc_dapm_decoder] = 9, [snd_soc_dapm_adc] = 10, [snd_soc_dapm_out_drv] = 11, [snd_soc_dapm_hp] = 11, [snd_soc_dapm_spk] = 11, [snd_soc_dapm_line] = 11, + [snd_soc_dapm_sink] = 11, [snd_soc_dapm_kcontrol] = 12, [snd_soc_dapm_post] = 13, }; @@ -101,13 +113,25 @@ static int dapm_down_seq[] = { [snd_soc_dapm_spk] = 3, [snd_soc_dapm_line] = 3, [snd_soc_dapm_out_drv] = 3, + [snd_soc_dapm_sink] = 3, [snd_soc_dapm_pga] = 4, + [snd_soc_dapm_buffer] = 4, + [snd_soc_dapm_scheduler] = 4, + [snd_soc_dapm_effect] = 4, + [snd_soc_dapm_src] = 4, + [snd_soc_dapm_asrc] = 4, + [snd_soc_dapm_encoder] = 4, + [snd_soc_dapm_decoder] = 4, [snd_soc_dapm_switch] = 5, [snd_soc_dapm_mixer_named_ctl] = 5, [snd_soc_dapm_mixer] = 5, [snd_soc_dapm_dac] = 6, [snd_soc_dapm_mic] = 7, + [snd_soc_dapm_siggen] = 7, + [snd_soc_dapm_input] = 7, + [snd_soc_dapm_output] = 7, [snd_soc_dapm_micbias] = 8, + [snd_soc_dapm_vmid] = 8, [snd_soc_dapm_mux] = 9, [snd_soc_dapm_demux] = 9, [snd_soc_dapm_aif_in] = 10, -- 2.19.1