From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 5C79A3254A0 for ; Wed, 29 Jul 2026 23:01:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785366079; cv=none; b=LqacRNnr2yi6vKqXExBLa/uKxK/EcK+5JAol+D+k/4ZOvEx0W5tdXlMkhILHP4BNWm0icNoi0F7nJ6nOmKHPbQfBtOvyUTRuZyui25T2ifGPrC0s6bOerSk1ZonprdFOIvII3aXkXOA9nzKmTEsOHNbgCAx/UcXEsVJP2sTIJpE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785366079; c=relaxed/simple; bh=/W0iqw3/M3QMft51dUEfHEqF1II07ZJ2eNmA+BdjdY4=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=k575na5fGHu1/ANpirODjb9DPVUT4D4VZ3ohuF5zuskm0gXTTpJu0+luPJs+y651iqdlsAJzk7cWX0z8BGxc3DvnV8ngfGrtc5br9q/RWsHBAgr3UBz4YtT3Nsu6A918TpGKQ1Dr3op8k4NoZ7lBtoCV/B0uZ256faeOm1bD15I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=W10SSzvi; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Eapamsn+; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="W10SSzvi"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Eapamsn+" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66TL84kV2996277 for ; Wed, 29 Jul 2026 23:01:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= cWecXQ61KpPhmr8++6nEPYsLAmLfDOY8W1ybUmald0U=; b=W10SSzvinYOb7lM9 cu4na5C9vRXmzJynwtXj6CiAbx596yBSKvnl/uRb855OpNRwm7zozpUK51NeqSTL 0Y4cNEtXRV1De0d3iOZFLWCRiCY02ylGkLFKpim3sgfnFaVbG9WRnmBfcHNVeV6m 938gLqqfMh43NhCFfp+znmY00/sX8x/wKPPPq83lJE9QqPiXovKuO22wyGiZyPSj rtbyTv9f8wvodZQ0Iea4DTYC+rNzxfqzNnP5sY/kd3/+y6qWawSW6Knb/awrneAk OvLZKL50FLGjxfdB9XmECbxPWSRDqk6kfoVvguuE1TPS2RQrwf5+eA/UEhAuWU02 mOdpvw== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fqs5g8bfr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 29 Jul 2026 23:01:16 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-52827090cc5so2594961cf.0 for ; Wed, 29 Jul 2026 16:01:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785366075; x=1785970875; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=cWecXQ61KpPhmr8++6nEPYsLAmLfDOY8W1ybUmald0U=; b=Eapamsn+BiYvY9/WaLeQgWOKE3VBjWfhHXkodANgHugZZ6VRm27K1E7O6z567jBYif hsyl/d1+2KlXF3y3DPJtOY/8NwAteFM++Uf8/Z3W1QfpPQXp0ypA7UOzXsrYgkP9744i yNSUtKY1jCNz4FhrBjJp9Y0cBt27bPyNC8utntNsgJPflP0j8Ygzca9u2T/aQ74GU72E ElzLIdrYAMFcNBVWDqQUuGbD56PkazCkO1/hCtzkhSgZ1RI6decBSNn0nWukvVK3LFH1 /ApdKVCyPBa5LPCTthdMqrW3+kkaqKdnFR95SNgYh4BYrx4SUPdSm40ERpfPi3CK9Jwk 55WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785366075; x=1785970875; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=cWecXQ61KpPhmr8++6nEPYsLAmLfDOY8W1ybUmald0U=; b=l9yaSi1iAH/BMfktYSbYbZijUFGrEfbUUigv2kqnuUzZITy+cZ7PcL828/dLmk+bVH jBbtgojNOi2bDxOWPJhLv4EXDplkIAcYhM3sqjaFoSwx++rOl4gVbCtVunlFzLLPJV9v HTsCaAFX6tAIb31Ey/DC48tjPkhqsaRQhuF/XFWhEWb1tyVf1F7Te5z1BczmDWYiMbV5 SvhVkU0cWWwOe2M5uMyDSfgWYEfLLgfmIgdSgB5sU+s55/cVWH/k1pqvpiyJBuR3tlL/ 54mqe8Jht9lR/5yPKhHV6NL1LGv3i0GsohKWG1bjVTXOJYfE1Ug/U1bdeMnqBT3x53O8 //Ew== X-Forwarded-Encrypted: i=1; AHgh+Ro7ET0HBmuSksw6v27PeSvdsM0EsiEFIxudrHdmO8fS6SDQbsKp8OO5IVOMql1wdT3qNev58TSuolIIIdA=@vger.kernel.org X-Gm-Message-State: AOJu0YwiDNdH9py/xMVbSh1SV2jX3ngRBLi3gDJPozCWPwwxPpjkGNra XyzqHwifAE9OXbW3uHJ8HGqqpKPiMHP/iLdLXuZwLVV6cfXU3kM1XuSAc4gv8FxxSLv6ohgn462 J08VmqJwsumHZJaizj/w9w03uItEM9+yCznOfaxNNEbP5m2f3eEZEsRnCyCo4ev1ozW4= X-Gm-Gg: AR+sD10OEv91WV1wjAmzcw9J9Fnd6t2iLs+z4QvBn7Y5TOTH0MGC3EL1g25+vOW3car j5dwDW4uYTYlNW0oqKTin3Xsm4I7P5JRZ7pBpEX8ZqfhsAzm7Lot3JzL8q/Ch9W7GQcMrZMcZgF uD/wYwenGsS4b7DMHUOsiIDkaoSd3sWiw3+0/NDgLNwVLUzMWZuk5+3Qrmm+UbOpcIuF6pwXqlY 0vowucUc+LvEyf7YOJRTXEmdKRkns5J0uzf1SCWBzzmIXYVPrk92JKkzqPn20LBfrTAzXutUprl cXvyYJK9nC7aQKdxlS8YSFMgLj09fb8E0Uov90MWCo3/UpsgVF0Z/h3NZUbaaugTFZBeBrPnB0S dMqzGBAdd31tmq6z6//MeBoO8NXY= X-Received: by 2002:a05:622a:5c12:b0:51c:291:82eb with SMTP id d75a77b69052e-52b391d004emr2670451cf.14.1785366075227; Wed, 29 Jul 2026 16:01:15 -0700 (PDT) X-Received: by 2002:a05:622a:5c12:b0:51c:291:82eb with SMTP id d75a77b69052e-52b391d004emr2668761cf.14.1785366073670; Wed, 29 Jul 2026 16:01:13 -0700 (PDT) Received: from [192.168.68.105] ([5.133.47.210]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-47fc8934ba3sm98045f8f.27.2026.07.29.16.01.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Jul 2026 16:01:12 -0700 (PDT) Message-ID: Date: Thu, 30 Jul 2026 00:01:11 +0100 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 2/2] ASoC: codecs: lpass-wsa-macro: Fix enum kcontrol accesses To: me@dawidwrobel.com, Srinivas Kandagatla , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Pierre-Louis Bossart Cc: linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260729-worktree-lpass-tx-macro-enum-fix-v1-0-0cf02c681332@dawidwrobel.com> <20260729-worktree-lpass-tx-macro-enum-fix-v1-2-0cf02c681332@dawidwrobel.com> Content-Language: en-US From: Srinivas Kandagatla In-Reply-To: <20260729-worktree-lpass-tx-macro-enum-fix-v1-2-0cf02c681332@dawidwrobel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Proofpoint-ORIG-GUID: xvXtLct2env2sfPXMURNhOTRmFqTyGYo X-Proofpoint-Spam-Info: AW1haW4tMjYwNzI5MDE3MiBTYWx0ZWRfX4tTGORf+yiAY SlKVCydn/yV9uNiFujMaOjZbK+2YroR0a9qwGa6zL3Y6n/baFBAcbEbOZmZC8YTYLWeQ8hZvlPR w/Powid3nxNU6BgE9hQq34IK2yErS7w= X-Authority-Analysis: v=2.4 cv=OJEXGyaB c=1 sm=1 tr=0 ts=6a6a863c cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=br21HGidAAAA:8 a=YbeYtx8zbnnq41e-qZAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=rq5_1Q1BYlbxkLLkNd_B:22 X-Proofpoint-GUID: xvXtLct2env2sfPXMURNhOTRmFqTyGYo X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzI5MDE3MiBTYWx0ZWRfX3G5IQR0awyx/ tkmHwhAHruebUr0voQdU4HpSeaeIoT77OQhjCmcYwiXOhMEXbhEwcwfmHvEQeBlCGztIJfq/ez9 mxjKf/r/LpPjta9g0GSwMMVeUAD8R/6Xl9BF1t3qsAIGEHrVaznmrF3wIaSUVzkU949so56Q1oe iV5Z+qdoU4440V4vV6PFGHhPgtPbPvmuhYMji54thFSN77LwdnT31jB6HtWAK0s9pqBOLW2hc7s 2X0+DvTlZPFh8MQ5CNXqeiCiRIF/cfMceK2K5BWEjiJZhujxt003N5K7vrqKe+Z0iZ+9ouQTFnO JVamufVcyWO2eXXEwzfeOo2y5J3mwKnMsL9FKGKuLT+m4GnhfcCJKrEKWsxssfoU/BjgZmon7pT jGAHWnFVt2+t8hA55L62PJ/EuuraFRZu8HR9bFOuKw82exg9UIBfNn3AMIC7y9QQ2QXbhJzsOG7 bMHuQVcmFt8R/p1GcNg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-29_08,2026-07-29_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 impostorscore=0 clxscore=1015 malwarescore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607290172 On 7/29/26 8:38 PM, Dawid Wróbel via B4 Relay wrote: > From: Dawid Wróbel > > The "EAR SPKR PA Gain" control is enumerated, but > wsa_macro_ear_spkr_pa_gain_get() and _put() access its value > through ucontrol->value.integer.value[0] (a long) instead of > ucontrol->value.enumerated.item[0] (an unsigned int). > > This same pattern was fixed in the sibling drivers by > commit bcfe5f76cc40 ("ASoC: codecs: rx-macro: fix accessing array > out of bounds for enum type") and > commit 0ea5eff7c606 ("ASoC: codecs: va-macro: fix accessing array > out of bounds for enum type"), but wsa-macro was missed. > > On 64-bit kernels built with CONFIG_SND_CTL_DEBUG, the elem value > sanity check catches the 4 bytes written past the enumerated item > and every read of this control fails with -EINVAL (access overflow). > > Fixes: 809bcbcecebf ("ASoC: codecs: lpass-wsa-macro: Add support to WSA Macro") > Assisted-by: Claude:claude-fable-5 > Signed-off-by: Dawid Wróbel > --- > sound/soc/codecs/lpass-wsa-macro.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > Thanks for fixing these, while you are at it , can you also fix wsa_macro_rx_mux_put too, it seems to suffer the same issue. Also can you add CC Stable. --srini > diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c > index 5ad0448af649..c88d13c0770b 100644 > --- a/sound/soc/codecs/lpass-wsa-macro.c > +++ b/sound/soc/codecs/lpass-wsa-macro.c > @@ -2064,7 +2064,7 @@ static int wsa_macro_ear_spkr_pa_gain_get(struct snd_kcontrol *kcontrol, > struct snd_soc_component *component = snd_kcontrol_chip(kcontrol); > struct wsa_macro *wsa = snd_soc_component_get_drvdata(component); > > - ucontrol->value.integer.value[0] = wsa->ear_spkr_gain; > + ucontrol->value.enumerated.item[0] = wsa->ear_spkr_gain; > > return 0; > } > @@ -2075,7 +2075,7 @@ static int wsa_macro_ear_spkr_pa_gain_put(struct snd_kcontrol *kcontrol, > struct snd_soc_component *component = snd_kcontrol_chip(kcontrol); > struct wsa_macro *wsa = snd_soc_component_get_drvdata(component); > > - wsa->ear_spkr_gain = ucontrol->value.integer.value[0]; > + wsa->ear_spkr_gain = ucontrol->value.enumerated.item[0]; > > return 0; > } >