Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp652298img; Fri, 22 Mar 2019 05:59:32 -0700 (PDT) X-Google-Smtp-Source: APXvYqxu5lZyIpAAjp+HTd6ZQObE5Y6rbRFCjjwoRgf/6iUBEXgbZwrFIUyd2KMLDsDWF/eXHzZc X-Received: by 2002:a62:a515:: with SMTP id v21mr1387990pfm.41.1553259572088; Fri, 22 Mar 2019 05:59:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553259572; cv=none; d=google.com; s=arc-20160816; b=iDjP+S2oqP9ULwkt9NRCwsIF3PKvKdwhDwvJ3j25IIlpcco4SsbjwkM8sfe748hz+G VnxcCm4UxV/+iJrrQ6SRxsw/p01flm/gqERysaqdwYCy2kNC4s7FPI5kS7ghZDHfsk6k nyVR5WEROpEt5lS47h0PxyNVS/7J0St9kaUYWnJjhVEzilpwEa+M3O9iGiTM5yj2Ef9I hRInkiCoSnmiIEi8dQnVstJ8OqWCsjrr9+Zf9mi42YaUmir8FqPIWJPQKRgdmxLI70iu /rAoxL2rj+hMXrwyNt7yYpIExT/zwcSZfViZv3v4nMNWOOyBegWq1A+CobJ+aRHpVCKD tdgQ== 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=kLpLwLjlDsx58C/LqDsEUW26IGtMtU2MrT8Ct3lnwY8=; b=hrqQ5axvYXdO+90lrTBWGBWWbGJ+c5TwAPNZ8gsE0ptKkxxkSiVjmNytfXD+vCHIx0 FaAF2yaZroabnu0xU0kUI7LTzwOXRE6Pkh0d+RhIX+uHVSVh1uRjKZh9ylfcDLxqocRP 37mLBDaM2BvbI/vxPUElBmrw2JDFvdP9gI8WLKlbq0B1dyPTpSbYXGF4rYLeyYOT2Zkz lWXyx76pTEh3dn+nX95HvhsOWVusdLKKt5Q24MemEKwbMXSBRJYLpWR5L7xXZ4yASViH Ty98Pa/qPIivuRCzNibol6nvDPP5UxZQKII/wrUwbbp+UVjBSVgbGUvE/5HUGV1kHzvm u1yg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ZzUHyF4R; 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 bh5si6815311plb.344.2019.03.22.05.59.16; Fri, 22 Mar 2019 05:59:32 -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=ZzUHyF4R; 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 S1731929AbfCVLrp (ORCPT + 99 others); Fri, 22 Mar 2019 07:47:45 -0400 Received: from mail.kernel.org ([198.145.29.99]:51004 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729276AbfCVLro (ORCPT ); Fri, 22 Mar 2019 07:47:44 -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 962252075E; Fri, 22 Mar 2019 11:47:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553255263; bh=QZsY0QbLZBhgy0803PU90rdGTgy/ax13e4eP6hcZjPg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZzUHyF4RCH68wdA0SPYn0RuQADlQfWYoBLz9GBMYjYx8pS5MoIeYjjouETzlvHX9E rYL0jS6CjMr1UeiBYO7YlKXhYvCTmVam875FnHiXhUvqqjM6SSYfDBj0M0i4HxG9YU zonjZkjxRjgg+qlwQtRmjLyB7alBlTffBO1F02VM= 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.14 018/183] ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables Date: Fri, 22 Mar 2019 12:14:06 +0100 Message-Id: <20190322111243.084066399@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190322111241.819468003@linuxfoundation.org> References: <20190322111241.819468003@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.14-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 bba6a917cd02..e9f7c6287376 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -75,12 +75,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, @@ -88,11 +92,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, }; @@ -105,13 +117,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