From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from omta38.uswest2.a.cloudfilter.net (omta38.uswest2.a.cloudfilter.net [35.89.44.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6D561EE012 for ; Mon, 28 Oct 2024 22:59:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=35.89.44.37 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730156350; cv=none; b=cyYVwi0qwOswg9G+l0OTUHOM25jFmOhX3odae/qnqkfNb8biJMHYHD1VLdtFNxXuwWOLt3jWGzDyrz/sZ8g+KkgiIozbR7M/cv1UCbLS3zLt9OKVBbDfq8sVENjcD0DEteXFReSfBR0Zp01eqto6Iy2bWmH8vEJGKXvRxRjfYyQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730156350; c=relaxed/simple; bh=H/t8jDbwRTh/REXH2pl8OgTgkLRTmudFvt3oVAikvK0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=SBFA1jjxh1TChqTljtYqK2lXzEqI7Q7hHhg0xwSXI34yZ+Odb+86Ykc/UWvlyjwEKwavSKGkOsBSuk1V0ilYVDgSEF0Qmb/AJxSej9/EBH+0AV3dD0KPnu584fdylCFfhVZa/qGJaYfLwYSivFr432J6Y449USBePOMb30HdDyo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=embeddedor.com; spf=pass smtp.mailfrom=embeddedor.com; dkim=pass (2048-bit key) header.d=embeddedor.com header.i=@embeddedor.com header.b=oUXGTPsa; arc=none smtp.client-ip=35.89.44.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=embeddedor.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=embeddedor.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=embeddedor.com header.i=@embeddedor.com header.b="oUXGTPsa" Received: from eig-obgw-5010a.ext.cloudfilter.net ([10.0.29.199]) by cmsmtp with ESMTPS id 5SZFtXaM2umtX5YhYt7mXl; Mon, 28 Oct 2024 22:59:08 +0000 Received: from gator4166.hostgator.com ([108.167.133.22]) by cmsmtp with ESMTPS id 5YhWtkiCnqHCr5YhXtPuIv; Mon, 28 Oct 2024 22:59:07 +0000 X-Authority-Analysis: v=2.4 cv=epvZzJpX c=1 sm=1 tr=0 ts=6720173b a=1YbLdUo/zbTtOZ3uB5T3HA==:117 a=OKg9RQrQ6+Y1xAlsUndU0w==:17 a=IkcTkHD0fZMA:10 a=DAUX931o1VcA:10 a=7T7KSl7uo7wA:10 a=1XWaLZrsAAAA:8 a=IsARVQ0n29yx_Rua2DAA:9 a=QEXdDO2ut3YA:10 a=Xt_RvD8W3m28Mn_h3AK8:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=embeddedor.com; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=5UaYzFJdgU1C4hYpGKcIDeteyto7PWAtRUJ7PAS1rzY=; b=oUXGTPsaRdRK/p60Sn96YcMjR3 +xm2vZF3haxk12tLPq4C3AwRAOJ/1Foulc9Ezx+WDsJgk6LDIqvOvrnuS9ekhC4LrrF41AwGgVuWB df5RSb2eTvng5ln87COKz/b9VRY3qrL/AIGrM5gqVI/WwnjXRzHnTrGnQtoWfEK1IJItw4DW5SI/J 5LFVMJnmG+8RinGOQ1bI3jLYHDp2wXidnQeqeOFGVwFEQBLmV1LdA7djHF0gBb+3jw1Dw+Vg5RhgQ 3hRemnsxtag6xaCOYHGbr05+Um+o+r2ILF6ren92x06ppPzTUQrhXDvsqzgkFVOCKRc4hn3aV/QGC sl8AVrSA==; Received: from [201.172.173.7] (port=40216 helo=[192.168.15.6]) by gator4166.hostgator.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96.2) (envelope-from ) id 1t5YhV-003JXD-1Y; Mon, 28 Oct 2024 17:59:06 -0500 Message-ID: <28ade5d1-d13a-4388-bd0b-f03211937abd@embeddedor.com> Date: Mon, 28 Oct 2024 16:58:58 -0600 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] ASoC: dapm: fix bounds checker error in dapm_widget_list_create To: Aleksei Vetrov , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Kees Cook , "Gustavo A. R. Silva" Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org References: <20241028-soc-dapm-bounds-checker-fix-v1-1-262b0394e89e@google.com> Content-Language: en-US From: "Gustavo A. R. Silva" In-Reply-To: <20241028-soc-dapm-bounds-checker-fix-v1-1-262b0394e89e@google.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator4166.hostgator.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - embeddedor.com X-BWhitelist: no X-Source-IP: 201.172.173.7 X-Source-L: No X-Exim-ID: 1t5YhV-003JXD-1Y X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: ([192.168.15.6]) [201.172.173.7]:40216 X-Source-Auth: gustavo@embeddedor.com X-Email-Count: 9 X-Org: HG=hgshared;ORG=hostgator; X-Source-Cap: Z3V6aWRpbmU7Z3V6aWRpbmU7Z2F0b3I0MTY2Lmhvc3RnYXRvci5jb20= X-Local-Domain: yes X-CMAE-Envelope: MS4xfKWjo0BvmcUtEgMD8KfyLnNAuB+6r2VVjJFgt0FCfMm2rRPlC5FQwz1ke3Qn7OMcYp9yPUWRNC8j6OWmGlOni+cxY7P5OJwxCHmLzjdIpNyiuOmHm4ib xa8P+SebMWJ7KZRvAylMdAO5a+qCTLsnpshDLPBT8mO+An2LwvADkVQjQil7Tc1aeuyMv4NOhNwCfzCzOQUeCzX6X9Te98SzDQCyGRKdmZbKGndt/nuv11XP On 28/10/24 16:50, Aleksei Vetrov wrote: > The widgets array in the snd_soc_dapm_widget_list has a __counted_by > attribute attached to it, which points to the num_widgets variable. This > attribute is used in bounds checking, and if it is not set before the > array is filled, then the bounds sanitizer will issue a warning or a > kernel panic if CONFIG_UBSAN_TRAP is set. > > This patch sets the size of the widgets list calculated with > list_for_each as the initial value for num_widgets as it is used for > allocating memory for the array. It is updated with the actual number of > added elements after the array is filled. As in the previous patch, this should include the following tag (and probably CC stable): Fixes: 80e698e2df5b ("ASoC: soc-dapm: Annotate struct snd_soc_dapm_widget_list with __counted_by") Thanks -- Gustavo > > Signed-off-by: Aleksei Vetrov > --- > sound/soc/soc-dapm.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c > index c34934c31ffec3970b34b24dcaa0826dfb7d8e86..99521c784a9b16a232a558029a2f3e88bd8ebfb1 100644 > --- a/sound/soc/soc-dapm.c > +++ b/sound/soc/soc-dapm.c > @@ -1147,6 +1147,8 @@ static int dapm_widget_list_create(struct snd_soc_dapm_widget_list **list, > if (*list == NULL) > return -ENOMEM; > > + (*list)->num_widgets = size; > + > list_for_each_entry(w, widgets, work_list) > (*list)->widgets[i++] = w; > > > --- > base-commit: 81983758430957d9a5cb3333fe324fd70cf63e7e > change-id: 20241028-soc-dapm-bounds-checker-fix-5bae621455b2 > > Best regards,