From nobody Fri Apr 17 20:22:59 2026 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 BC6CF2DEA68 for ; Sat, 14 Feb 2026 12:40:07 +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=1771072811; cv=none; b=CFz880MGxliWVEHaxeR18MPIZU+Y9Hs1KVeTO1pv9uydpPFZhTzr0zb54HDfFbzmdwReEWqC4spiMR1ipbXTcTcz2nAKrjD8N2P134imzbKJNneYJCZIidRWvVN2e0weFYqDxT3a7QnOkShi9qAiSHroh/U4wcwnAnI5rR4lfH4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771072811; c=relaxed/simple; bh=w435g/GTAg/kMgq1giPwYvIojjRMpMrrnfqyw5prOlY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bH8d5GvLj3MwggHdFZ3+/ePIThP9V2K0IHPKMuUl0GyHFkWgSa2Y/I/tbb7vsJLIezHlxI3jeAYol1RObkB9TdCgXloHuNhRU/8ongaC61cAUh3fwC1FK8GxF/InGaCnuMPG7SJz9a7Oey/L8rcW+MT2kergT2uPyyyZVP/eR8Q= 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=SSc4FFvd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LM9Lv7aW; 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="SSc4FFvd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LM9Lv7aW" 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 61EAgWdJ1569465 for ; Sat, 14 Feb 2026 12:40:01 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= DdU4gywYj5DC4KjU9lCH12o4Dt8Gt7lIyXAijkg2BZo=; b=SSc4FFvdVoziifDe uTvMLMdo5irHvi+JR/jOUaVgrHNb/xvZX84LaiCbwDjXNINRkxADhS4yQMzubt/Q pI7+cT3gM9k03Gv1M87FKDCIzODxUJJgw5zUFXMvScg9rloDdcr9sWlx6S7/V1K5 MKQtutL5RuQ67RVo3r9JU4+hdxi9vYNrx5BR/Y2G5fbajbINuwvOvqbBb3Fh1yAD 6Ow/xW8LEQ8cQwUJdrAFOB0U9JjyYefkDa23n5MBYkq/N7TMSKCFyWSLmv+w5mch 9fbV47h7GtF1GYcLBVU+MN+6aC0wKu+5tTIGgBwEhMySHvxIZJJ1LllWpOZxPnkK +VfP8w== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4caedp90f4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 14 Feb 2026 12:40:01 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8c7166a4643so694327685a.0 for ; Sat, 14 Feb 2026 04:40:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771072801; x=1771677601; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=DdU4gywYj5DC4KjU9lCH12o4Dt8Gt7lIyXAijkg2BZo=; b=LM9Lv7aWlDx4KULSk6r26nMQjD1rkXfX9Tc1LNQMJdVM4SS+bdlieua7q9zHRxtjeM DHJXC8EjKtdiax37SxRvUekEt9ORBO/8CaNPvP1QxhM7SsxwcjBjhxGmgI44iupCOTCH VVcr5fL13v59ojrASxvvU6w09sc7BTOThEPjtT1RuVK+KmEB+LXRbvdjRQMkQV8J0hBh dEoWX+ncML7ZXuXiqX6A35gw0VYsPJI3u7rkccKAYsNI/94GJTtuXSkg7RZZMNhuFKmz bds1qaykmSbqTXOnpO/nvQF5IyfyJFZ+itzqhbpNyEPkbe+LVtWr8wjPEra3picmhbNG RlRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771072801; x=1771677601; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=DdU4gywYj5DC4KjU9lCH12o4Dt8Gt7lIyXAijkg2BZo=; b=c72xvkA9N76CFgahjZzI60Ur9fkN5edqSyHU1holiQH4V+c2XjTETFVjCgkMOa3Egr 2gsxWNwoAXhw0N9UmR0ZG1baR6TgZQHqdi14kZZYl4ZuqrifR1r2zDeRHoiVU6peD6i/ WMNnHDpnztTUiV0EZHbr/KS14/uiLFzT2PprN7Y7tx+ISDliBONWNpgUGCAh+y8xT0iU VM2ab0oMjSSvzSe/gOfavssL2Zw7V+WHPS5t2rTRVmV+kGKiTdaTXbCDFE7QEXgnDGol RitxGXYHxsSK6czioAHPou21/Sa5k2MYzwviOMhcKcsWrF4o1iCC7FXVlPGaPoNeUuVy uz7w== X-Gm-Message-State: AOJu0YwVcnCC3CwTtDqdu2JiJcDOYdKMnnCU7YP8wD3Z11RbZq+StrEB IsJonPJU0cGzVo0SlHH9JyiaQ9dgYlHhEQMgp+OScje4atz4vXgUxnoum7KTGzHRBVPKdCld1+i 3Psrg7KqQEtiXr33pw9yzYN2BTjdI7dItXG9ie8b2tKLq6LtwGxEGJneXduiUSMAt2Bs= X-Gm-Gg: AZuq6aI0qQPekDxSjdepp+o+x2T3GBR+kELdq9cwb6rVkLXwvl/e2u5OKAlVy0fwVf+ RqnpjOuIMUImlrYMjDpbKcebQ2Hs0OYS2+j9AP5ubQyxAZrqteGuGa49jzzDaehaD4gJSGKMikM j9X1uahRiIVRuiMKo8eyPi15K1wlpyHXNSm2bogT286WjaFBU+6CdcQhDAGzuLjC+SaJWQG0Jl7 TE3NEmUaSyenKDTI8QmF+WamG+0+pWz3beQckLvYpAmXrUhn3wmiDa5JqNzXuHDpeiaKABYxMMd hLDYwJiUXITauxjRF7obFuOojZT4GuKI76LX2and6fVSOkJwyneEKK9qr03ym+wxYHYKUQc+l+x BKTdd1uYMiozGnF8SRoKB7Y7XUy6vgYZPzxaTSRlysWBsUg== X-Received: by 2002:a05:620a:458f:b0:8ca:2cf9:8198 with SMTP id af79cd13be357-8cb42292883mr566294785a.40.1771072800709; Sat, 14 Feb 2026 04:40:00 -0800 (PST) X-Received: by 2002:a05:620a:458f:b0:8ca:2cf9:8198 with SMTP id af79cd13be357-8cb42292883mr566292085a.40.1771072800313; Sat, 14 Feb 2026 04:40:00 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43796a5ac87sm13644215f8f.3.2026.02.14.04.39.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Feb 2026 04:39:59 -0800 (PST) From: Krzysztof Kozlowski Date: Sat, 14 Feb 2026 13:39:40 +0100 Subject: [PATCH RFT 1/3] firmware: exynos-acpm: Use unsigned int for acpm_pmic_linux_errmap index Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260214-firmare-acpm-counted-v1-1-32af5735470e@oss.qualcomm.com> References: <20260214-firmare-acpm-counted-v1-0-32af5735470e@oss.qualcomm.com> In-Reply-To: <20260214-firmare-acpm-counted-v1-0-32af5735470e@oss.qualcomm.com> To: Tudor Ambarus , Krzysztof Kozlowski , Alim Akhtar , Kees Cook , "Gustavo A. R. Silva" , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-hardening@vger.kernel.org, llvm@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=983; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=w435g/GTAg/kMgq1giPwYvIojjRMpMrrnfqyw5prOlY=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpkG0auJjvWvtViwj+3URxBEvdS6l5B5NcdVtxv f+Z4/iY2h6JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZBtGgAKCRDBN2bmhouD 10r7D/wJqITFeImOTZQlvOwL27IQZS47P++ONtfI8h5qsE9Pp1HRktjJRqETP98wEorF31QPEcR oMhw0XVawmHexSktb5UlEYwCTh2j7wxnOuf3nrCCbSSbPn77dRIErJwFOY6s30txx1ptjxsyw3w F9klOwufj/mEEzAKcvVy8Ngn4fpyyh0aumuL27rSjq0t1bWlwNmU76Wfzv8A9sMwYB8ZqIqzF3Y 84RiTNLmQMw13KF1ejQC4cwCC/d05bDMzNrKB6HfBuC+dmVdIW4JueGss5gTNAu+GfLbynIed61 lF+D071KcR4zN8U7RJV1IBd0Wrfj5Qmbsm/cO/fGh4zhEhfbMck5VpKv9qUrpCSu0S6m+wgrfqR ycbgklph6fR6gw8OssuZnltif/VmlChgxMVyumhxocllux6CNxdp+nSkl3xGQ6ER32ifq4BNdWz Zaef6zUcaM77f/tEeUBo33hduoPaCI7F776hvFjDxJwFTtwCahabOTdwUy9xhZ8PCU6TdzezIEd YlnoQMsQZMxu6wnbHJt0VKg5EjKpr/CO/yH2m5CCRF0VyWgVglLlARPjjDU72c9R9F0/oJcrxrM 0x7ev/F0qbnAyvYgLksvgEdCxYTqJVO6e/V4BM7m3d77AWW0kMajvN9WZ2npwdCJtJ/wi9w/JeV Egz2vz70AG/whEw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjE0MDEwMiBTYWx0ZWRfX021AhfNdEwDq X6iERz0SgP+URMwZwfzSjzyfZw5f+Q3ZwFnEFJadDQN0vUY8bKH3MYyONWvh3eW2IDLTR8o9zvL 1gt+xRs4Jd6zqvGJnCbksOX/EHK77dgzgVxlZcl3AMIGaf7mfpQpofBVIweE1e6G25POLkwBJ0E GHWq6j+TCFER2iJPCEeVr3wmTF/1AWL687iGhRwfwhxVWZgEf/vGKpLKaI43/g/6oGxqiei8fTv N2/dFvE+AC5eTJhmk+b3/xnoLGT0NA4gnWYBFpn/88Vm3hiKbeSB+nZqjYDLdwDx7XuItq9xYds PaRJOlj0o5DyQbOWZnBf/eKz6sZiokf2Wayoz/qzivZfM3ruBLm7xdMLTjabkhKotivoLR5pZRn B9IrxXUPZA1lw2h0EnRZCdfmRU3IXc/0KkzaTdpuVc4GailmpQ32mbbs78zkF2XT75UMv1wnKci qYRA8Jh1zQzPRFh9myw== X-Authority-Analysis: v=2.4 cv=eK8eTXp1 c=1 sm=1 tr=0 ts=69906d21 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8 a=sC1DaKbfRzUqm1tOYCAA:9 a=QEXdDO2ut3YA:10 a=zZCYzV9kfG8A:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-ORIG-GUID: R0tx_3vqsavPHXZ40vPTZ8w3TfBEbzp0 X-Proofpoint-GUID: R0tx_3vqsavPHXZ40vPTZ8w3TfBEbzp0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-14_01,2026-02-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602140102 acpm_pmic_to_linux_err() uses an unsigned integer obtained from messages as index of array to map them to error codes. Array index cannot be negative, so make that explicit. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Tudor Ambarus --- drivers/firmware/samsung/exynos-acpm-pmic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/firmware/samsung/exynos-acpm-pmic.c b/drivers/firmware= /samsung/exynos-acpm-pmic.c index 961d7599e422..44265db34ae6 100644 --- a/drivers/firmware/samsung/exynos-acpm-pmic.c +++ b/drivers/firmware/samsung/exynos-acpm-pmic.c @@ -41,7 +41,7 @@ static const int acpm_pmic_linux_errmap[] =3D { [2] =3D -EACCES, /* Write register can't be accessed or issues to access = it. */ }; =20 -static int acpm_pmic_to_linux_err(int err) +static int acpm_pmic_to_linux_err(unsigned int err) { if (err >=3D 0 && err < ARRAY_SIZE(acpm_pmic_linux_errmap)) return acpm_pmic_linux_errmap[err]; --=20 2.51.0 From nobody Fri Apr 17 20:22:59 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 12D7430CD87 for ; Sat, 14 Feb 2026 12:40:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771072813; cv=none; b=OaojgpS4FZUjyWip02ZMpqcDLwT9Edt/aSMWsV8rD2hvkh4yN/H9OIRAmhisfP628fHX5dbHKXdZr0+Md4WTM36tRp5aRrczo+25IRmjEGDol2Gdcyr+OcC8F2EmSItKu43b0xPeZ36KOC8VapmcSlXct2JynFiWMFWFSBYQzk8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771072813; c=relaxed/simple; bh=7feOF3Elx5oK8syt/T37E03ztwOdUNRtuaEPtI7X4x0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=vGip2NPDSoxG1PO3i9eNENwN7LFlq60diZ2hDs2lvmW4E/RvmtB2M57o93VmIw4oQCsDvCWeNs2bICWwHcSwp3qNofFOZceUAm3qpcKDPZIYb7Vqpb1T/sCMGP/Zju/vdXpZ1gHOrYzGL19Jr1MJ8zKFzL8b9N5FekMKqW+uH2s= 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=Ai2jgxSK; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PatBry9W; arc=none smtp.client-ip=205.220.168.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="Ai2jgxSK"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PatBry9W" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61E9S4Tl1188801 for ; Sat, 14 Feb 2026 12:40:04 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= 8ChNQ0sN5/DiYoC6u1SEgcPiH2YqmBHOxmwxzvZzWz8=; b=Ai2jgxSKwmRCG6r8 DW/fxS+YPGAouZGxpiQO/NZLMVYFsZjjTfKUvwhpb4i1v9NAi2/8odqFMFlBSWGZ jfBVf+/0gDoersUXBs6kCfzrmxnGFh2vm/Tn/p4wyKuNcHoXx8sUxArgzGJw2ANT 326lP+MKVjF1QG56xENQ8OFRWaEO7BpwXBj56zhIPPRq0sV+6Sc42zxh1h4wN4h/ 1UJbOBbYbMWBeFh5QHHupxzmiMmMrJj3Y4jFyDb6qJkMnn9JXy4LKoJUCrMWqQVv 6Ei4kiLPhp/R/pDzb4dqcBuiS7K3N/LaogASUzkj3QuZNLGkhSQ9Boo3O0w7VdO0 jpiC3A== 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 4cajb8rjvv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 14 Feb 2026 12:40:03 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-506bfa0441aso3404601cf.3 for ; Sat, 14 Feb 2026 04:40:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771072803; x=1771677603; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=8ChNQ0sN5/DiYoC6u1SEgcPiH2YqmBHOxmwxzvZzWz8=; b=PatBry9WfucGJtuznBCEk1cg5LN9Yg90bYhivNZwFBdavEh9uM6HH1+x2B0c5H68z7 ekRAXZKgNYpjlT2pC0QFUzQOH965mBFrM6lyhoEIhAKJ5ggnxYHt6iPCRK8Bdk0OsrU+ 3VJUIdzD6SyktJdzA2pYL+HzJkz/MbxDf4ItHsFJZteENZetpf95IfAxLWxWedIWJngc jlcpm7nqFjSTcDpiYn15PkhQp/4Lg/df83AjtTbAo+owtDxjmqcfEOyff0JXoA5JFV2a +jXPsaQqUh4XLDIPpfaOgH85yl4LSjwr9D+JQerMJ3vm6JJb7VVcMFmRHdWTHhZ02oH+ PF7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771072803; x=1771677603; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=8ChNQ0sN5/DiYoC6u1SEgcPiH2YqmBHOxmwxzvZzWz8=; b=cc196ojtxGEN8DPl5l5Thz+tk8i0iSZIazz6RublmyLwYZ96vgBqfJCgQBjkzRgFy7 uXd0+I1XWYe2qc8nBMhpXUduSQ4d/TmlnRsf/wjSb+5qrvcfHLHjvLKwgHrctjQpA5AV fb1ju0kpGI2kjmwq6C8Kdterrng7h09g0l95EMZnHoO5Kgbqhj9Xazm33CCC8ouCv5ms Vs2LpC6R0A5cC0gX5KaEO7XHVMCKvdBobdLAmTw3hdLyUdcz25szRME94iRNtcFCXnOD m14D0ZhC1lBq5Wshy30sW6keDKHLTiX8Dc1hD+rv/IKjImsw3SdzumP3SmwzfnqD83sw m5dg== X-Gm-Message-State: AOJu0YyVjxUBcXlle9eN9nVBBBjOWpvCDcWPMIretJyageT+o0GaYhWC S85yDAhJkBTOvTG6QDJ9v3g4VydENG7d7ugAQl5+Z900syeGsHK0XzKhHGqafwpO5pyr7fEBWKw sjyRaKXgMaItsFvLa7K5Bz9E0ewFNhvXd3+iJB0KdooVoORLgsFx3gMfYFkmXJ0wyVmQ= X-Gm-Gg: AZuq6aINfcUGHa5ehVxNjyZzhVp5YgmbMCXFiy5TChPqd4mqwwRG18qkpOJlGHD4i7F jqeoV3L+PBmkC5pQqc0wr78kOh3kq5twJTMf4YKLgNwjk+7RZX3L4ix1VZqTl2zpK8xLhBR695r 0LaZcDPjBziZ/lzN5KFiUQwe6VwCAMQYGaVBHWnWfK+Tyb7rt2Cu90UV/TjMapd7+4DCVcPPaF/ g443hxClLemUsQRnwFWnitfoI+V5ROmrn+VEthW8Ac05bWnQE/TfSoV6+mQxa6wQzieHDoYgIB8 /h0xS6/EMBb6jjPY9qAPzEnzL6jeJMKVV2mGmS5Us+nmFO5BroZeRLPUjnXXrlcKwZANuShx4Aj NXzL6k0j+B02dfrAz/sDkb/X2OEY2bt65bXeti/0Eujh3oQ== X-Received: by 2002:a05:620a:471f:b0:8ca:2cf9:8197 with SMTP id af79cd13be357-8cb4c01475amr339891685a.47.1771072802779; Sat, 14 Feb 2026 04:40:02 -0800 (PST) X-Received: by 2002:a05:620a:471f:b0:8ca:2cf9:8197 with SMTP id af79cd13be357-8cb4c01475amr339889085a.47.1771072802231; Sat, 14 Feb 2026 04:40:02 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43796a5ac87sm13644215f8f.3.2026.02.14.04.40.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Feb 2026 04:40:01 -0800 (PST) From: Krzysztof Kozlowski Date: Sat, 14 Feb 2026 13:39:41 +0100 Subject: [PATCH RFT 2/3] firmware: exynos-acpm: Count number of commands in acpm_xfer Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260214-firmare-acpm-counted-v1-2-32af5735470e@oss.qualcomm.com> References: <20260214-firmare-acpm-counted-v1-0-32af5735470e@oss.qualcomm.com> In-Reply-To: <20260214-firmare-acpm-counted-v1-0-32af5735470e@oss.qualcomm.com> To: Tudor Ambarus , Krzysztof Kozlowski , Alim Akhtar , Kees Cook , "Gustavo A. R. Silva" , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-hardening@vger.kernel.org, llvm@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=6706; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=7feOF3Elx5oK8syt/T37E03ztwOdUNRtuaEPtI7X4x0=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpkG0b6OQvxeirc2xuqsfeyQEzVUkBzADwwpMdt WS9g5qUQbaJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZBtGwAKCRDBN2bmhouD 18GJD/9TaH0D1uNgkwpVn6l0/zxtSfyRi2kkO6reLHLEwbL6l3EAhGf2aqRrMDKDyh7UQQgRgB9 RY7fSQAvdAydKnS3ovDFWBxPG6ZU7CjdtwBhZTE4Fet85+ea1bEpUodQRU0CRHNAIZ3nYhaDyIM OoDGk8VNryGEJ4nPBM0yiMNcOrQ0oatdASHxa+yzniGTpQWN8vdyVM5ktYa0I7k+hIZ9lx6+3SJ myQ1+r+0bseAVdIhbjSIAWzPnAPgUG7/2LBafX4VYyc5eJ5jUOIj5ilSt/h2w7Glb8JzB79PRGj QiopKUag358Y7yIoyKEgy/J2SQnasD5H7ldXjMN1Oucs739Gd99S3A2H26zUI95mG8qDLM7H+jq 8M5cU3k9Qw+1Kr8OLrA/naH/r76e9m7LuKIr9dumQG+J9oC7UL7Z0HFHOMSYHQmoUP5h/eJPDLn tyqAPkS+u0cOZtEgwBs57KtOkzUAMf2+NJ+85nY21Lc2/W1ghBQfO97rXGx0+Ok8OdYTw2a370l 4cCuvLueN6PVEW0DDhQiPp7rtDKD28Fd0pVKvXhGSq8DwZ3Gh5/Fi2el7yJLiGmdC1JfY1AAS34 RCcDuTeSRlCKzA9jdJhtxx6nkFahFqT4F2ORhmEDpGMsNrK8XeWgYt+D/YKeON9gloCbQATdY0/ R10iR4/b42Ku3/g== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjE0MDEwMiBTYWx0ZWRfX93SBrtyLvCes ydEsQKDU1cHbRwQCMME2IvxERy/32xBtQpB4I37MwZP5mwIofSusVbAT/rcXwkiew6eL0K+XMlW nEEuFYP2aYUfa4zFzt0LpvA0XycDsz8taRSCiXwPGytUSheoxc2A4TvpxHOlgFm47anNbDIyBAU hKID2NXvFhpBVyjCtMRZIVsFJ+iMV7abR8crBvIhOlLX2lazBAjJLN3jThdKy7RMQi+Wdp/8Q1j EmGtlRDPY4f8x5tMWQOdSO0PR8/AqeeHf2W2JeC7nJOqvbHySOTPYaJNR3BiOwEVUlKitRROqkm QUakYhLpcW3c79sr0M9oFPT1aFLrFJyMLYjQhmwFxOaThNZVsSZOo/F4auGVLhc9VucuNIj4Jg8 bMpXoWaHWCr9OjUhnIFKpRsEWJ4Z6q4KeGO7yBUXsdpY2gqrXWTSSRMB/fQ2tBvDnE2jhAVKnxB 8gMxPaBX0OwOCJQ1nCg== X-Proofpoint-ORIG-GUID: QguXdZYxdUUav6WdhM2BbCoA61JTeX7K X-Authority-Analysis: v=2.4 cv=Pe/yRyhd c=1 sm=1 tr=0 ts=69906d23 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8 a=1M7bLk_J3U762fdM4B4A:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-GUID: QguXdZYxdUUav6WdhM2BbCoA61JTeX7K X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-14_01,2026-02-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 phishscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602140102 Struct acpm_xfer holds two buffers with u32 commands - rxd and txd - and counts their size by rxlen and txlen. "len" suffix is here ambiguous, so could mean length of the buffer or length of commands, and these are not the same since each command is u32. Rename these to rxcnt and txcnt, and change their usage to count the number of commands in each buffer. This will have a benafit of allowing to use __counted_by_ptr later. Signed-off-by: Krzysztof Kozlowski --- drivers/firmware/samsung/exynos-acpm-dvfs.c | 8 ++++---- drivers/firmware/samsung/exynos-acpm-pmic.c | 14 +++++++------- drivers/firmware/samsung/exynos-acpm.c | 12 +++++++----- drivers/firmware/samsung/exynos-acpm.h | 4 ++-- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/drivers/firmware/samsung/exynos-acpm-dvfs.c b/drivers/firmware= /samsung/exynos-acpm-dvfs.c index 1c5b2b143bcc..55ec6ad9d87e 100644 --- a/drivers/firmware/samsung/exynos-acpm-dvfs.c +++ b/drivers/firmware/samsung/exynos-acpm-dvfs.c @@ -25,11 +25,11 @@ static void acpm_dvfs_set_xfer(struct acpm_xfer *xfer, = u32 *cmd, size_t cmdlen, { xfer->acpm_chan_id =3D acpm_chan_id; xfer->txd =3D cmd; - xfer->txlen =3D cmdlen; + xfer->txcnt =3D cmdlen; =20 if (response) { xfer->rxd =3D cmd; - xfer->rxlen =3D cmdlen; + xfer->rxcnt =3D cmdlen; } } =20 @@ -50,7 +50,7 @@ int acpm_dvfs_set_rate(const struct acpm_handle *handle, u32 cmd[4]; =20 acpm_dvfs_init_set_rate_cmd(cmd, clk_id, rate); - acpm_dvfs_set_xfer(&xfer, cmd, sizeof(cmd), acpm_chan_id, false); + acpm_dvfs_set_xfer(&xfer, cmd, ARRAY_SIZE(cmd), acpm_chan_id, false); =20 return acpm_do_xfer(handle, &xfer); } @@ -70,7 +70,7 @@ unsigned long acpm_dvfs_get_rate(const struct acpm_handle= *handle, int ret; =20 acpm_dvfs_init_get_rate_cmd(cmd, clk_id); - acpm_dvfs_set_xfer(&xfer, cmd, sizeof(cmd), acpm_chan_id, true); + acpm_dvfs_set_xfer(&xfer, cmd, ARRAY_SIZE(cmd), acpm_chan_id, true); =20 ret =3D acpm_do_xfer(handle, &xfer); if (ret) diff --git a/drivers/firmware/samsung/exynos-acpm-pmic.c b/drivers/firmware= /samsung/exynos-acpm-pmic.c index 44265db34ae6..26a9024d8ed8 100644 --- a/drivers/firmware/samsung/exynos-acpm-pmic.c +++ b/drivers/firmware/samsung/exynos-acpm-pmic.c @@ -63,8 +63,8 @@ static void acpm_pmic_set_xfer(struct acpm_xfer *xfer, u3= 2 *cmd, size_t cmdlen, { xfer->txd =3D cmd; xfer->rxd =3D cmd; - xfer->txlen =3D cmdlen; - xfer->rxlen =3D cmdlen; + xfer->txcnt =3D cmdlen; + xfer->rxcnt =3D cmdlen; xfer->acpm_chan_id =3D acpm_chan_id; } =20 @@ -86,7 +86,7 @@ int acpm_pmic_read_reg(const struct acpm_handle *handle, int ret; =20 acpm_pmic_init_read_cmd(cmd, type, reg, chan); - acpm_pmic_set_xfer(&xfer, cmd, sizeof(cmd), acpm_chan_id); + acpm_pmic_set_xfer(&xfer, cmd, ARRAY_SIZE(cmd), acpm_chan_id); =20 ret =3D acpm_do_xfer(handle, &xfer); if (ret) @@ -119,7 +119,7 @@ int acpm_pmic_bulk_read(const struct acpm_handle *handl= e, return -EINVAL; =20 acpm_pmic_init_bulk_read_cmd(cmd, type, reg, chan, count); - acpm_pmic_set_xfer(&xfer, cmd, sizeof(cmd), acpm_chan_id); + acpm_pmic_set_xfer(&xfer, cmd, ARRAY_SIZE(cmd), acpm_chan_id); =20 ret =3D acpm_do_xfer(handle, &xfer); if (ret) @@ -159,7 +159,7 @@ int acpm_pmic_write_reg(const struct acpm_handle *handl= e, int ret; =20 acpm_pmic_init_write_cmd(cmd, type, reg, chan, value); - acpm_pmic_set_xfer(&xfer, cmd, sizeof(cmd), acpm_chan_id); + acpm_pmic_set_xfer(&xfer, cmd, ARRAY_SIZE(cmd), acpm_chan_id); =20 ret =3D acpm_do_xfer(handle, &xfer); if (ret) @@ -199,7 +199,7 @@ int acpm_pmic_bulk_write(const struct acpm_handle *hand= le, return -EINVAL; =20 acpm_pmic_init_bulk_write_cmd(cmd, type, reg, chan, count, buf); - acpm_pmic_set_xfer(&xfer, cmd, sizeof(cmd), acpm_chan_id); + acpm_pmic_set_xfer(&xfer, cmd, ARRAY_SIZE(cmd), acpm_chan_id); =20 ret =3D acpm_do_xfer(handle, &xfer); if (ret) @@ -229,7 +229,7 @@ int acpm_pmic_update_reg(const struct acpm_handle *hand= le, int ret; =20 acpm_pmic_init_update_cmd(cmd, type, reg, chan, value, mask); - acpm_pmic_set_xfer(&xfer, cmd, sizeof(cmd), acpm_chan_id); + acpm_pmic_set_xfer(&xfer, cmd, ARRAY_SIZE(cmd), acpm_chan_id); =20 ret =3D acpm_do_xfer(handle, &xfer); if (ret) diff --git a/drivers/firmware/samsung/exynos-acpm.c b/drivers/firmware/sams= ung/exynos-acpm.c index 0cb269c70460..242745e8394c 100644 --- a/drivers/firmware/samsung/exynos-acpm.c +++ b/drivers/firmware/samsung/exynos-acpm.c @@ -205,7 +205,7 @@ static void acpm_get_saved_rx(struct acpm_chan *achan, rx_seqnum =3D FIELD_GET(ACPM_PROTOCOL_SEQNUM, rx_data->cmd[0]); =20 if (rx_seqnum =3D=3D tx_seqnum) { - memcpy(xfer->rxd, rx_data->cmd, xfer->rxlen); + memcpy(xfer->rxd, rx_data->cmd, xfer->rxcnt * sizeof(*xfer->rxd)); clear_bit(rx_seqnum - 1, achan->bitmap_seqnum); } } @@ -259,7 +259,7 @@ static int acpm_get_rx(struct acpm_chan *achan, const s= truct acpm_xfer *xfer) if (rx_data->response) { if (rx_seqnum =3D=3D tx_seqnum) { __ioread32_copy(xfer->rxd, addr, - xfer->rxlen / 4); + xfer->rxcnt); rx_set =3D true; clear_bit(seqnum, achan->bitmap_seqnum); } else { @@ -270,7 +270,7 @@ static int acpm_get_rx(struct acpm_chan *achan, const s= truct acpm_xfer *xfer) * after the response is copied to the request. */ __ioread32_copy(rx_data->cmd, addr, - xfer->rxlen / 4); + xfer->rxcnt); } } else { clear_bit(seqnum, achan->bitmap_seqnum); @@ -425,7 +425,9 @@ int acpm_do_xfer(const struct acpm_handle *handle, cons= t struct acpm_xfer *xfer) =20 achan =3D &acpm->chans[xfer->acpm_chan_id]; =20 - if (!xfer->txd || xfer->txlen > achan->mlen || xfer->rxlen > achan->mlen) + if (!xfer->txd || (xfer->txcnt * sizeof(*xfer->txd) > achan->mlen)) + return -EINVAL; + if (xfer->rxcnt * sizeof(*xfer->rxd) > achan->mlen) return -EINVAL; =20 if (!achan->poll_completion) { @@ -448,7 +450,7 @@ int acpm_do_xfer(const struct acpm_handle *handle, cons= t struct acpm_xfer *xfer) =20 /* Write TX command. */ __iowrite32_copy(achan->tx.base + achan->mlen * tx_front, - xfer->txd, xfer->txlen / 4); + xfer->txd, xfer->txcnt); =20 /* Advance TX front. */ writel(idx, achan->tx.front); diff --git a/drivers/firmware/samsung/exynos-acpm.h b/drivers/firmware/sams= ung/exynos-acpm.h index 2d14cb58f98c..422fbcac7284 100644 --- a/drivers/firmware/samsung/exynos-acpm.h +++ b/drivers/firmware/samsung/exynos-acpm.h @@ -10,8 +10,8 @@ struct acpm_xfer { const u32 *txd; u32 *rxd; - size_t txlen; - size_t rxlen; + size_t txcnt; + size_t rxcnt; unsigned int acpm_chan_id; }; =20 --=20 2.51.0 From nobody Fri Apr 17 20:22:59 2026 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 EE67E30C614 for ; Sat, 14 Feb 2026 12:40:08 +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=1771072811; cv=none; b=acipeSJykHbGX0UgJLu86BTeeJk2jU09AHQCbUQ5rAgYHEO72ex0UA8wuu7krDdLNvemy80VHUGWq6cilFXSOFcENXNjUM+ysjBt14RFGZ1+N1PvmMCfSQNJ6KFIQ+Ls3keyReFqLYBmNRGIgn3Oa4YZGlOydbTnxoC2GOHouP0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771072811; c=relaxed/simple; bh=vAX0qIkhBcbpZf/oznc21YsjusKij9EY5BmIgI9Sr7s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bQs2rqkiwy3YA2xHLtqDehD6GRQb8W5pCVRXm0uHjioNQVEXK7DJzGnZ5gp1wEWReSP2gyD+UMcGgy260+dja5BGVsajr/IJ6A29yHn2BGVGBTSuutHjjPb4LN16vBpL2+TXYnt5JKNU1bYZsJmiJLJVwFio1+jCY0E/jxUeruE= 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=bKwtkAcZ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=N4evi3KS; 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="bKwtkAcZ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="N4evi3KS" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61EBTeuD3637009 for ; Sat, 14 Feb 2026 12:40:08 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= Qfe4t1IfvFtaq6PrP7lrtAAdNePeCLs4FdSACzw0PJA=; b=bKwtkAcZTCk4Gg/t bzo8UnB5xe+NbsWSp4BDQ1914PmHPKwJybrR4h5fy+f8DcU7wKVuhWjR9wbmNttI Kq8gd+w2tDJ0KkIBwKOBXH84h1cEdfAJVT40/5o2RwLT7rmaX8veoDUeZxUEYczJ OY2RPgeAzWwbZYwS/MdMpn2KPp4uQa6xTubCQ2rIUD93Sv+Gh4ErHn+qldbYHSI8 sOh/rshlUQJjb95WimsLt1WpUKhTv/WBS/zbIeXBW4qkXKIUd/4Lcf3mGpv36duo BmHmhvlb51zivyytAlEW7T+9+zY389E7W+FOzuottrD5ArSeLFF+dATlRA876c7R 3nyqKA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cag248u6k-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 14 Feb 2026 12:40:07 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8c881d0c617so717128985a.1 for ; Sat, 14 Feb 2026 04:40:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771072807; x=1771677607; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Qfe4t1IfvFtaq6PrP7lrtAAdNePeCLs4FdSACzw0PJA=; b=N4evi3KSvBFyU1gH4nksyeTtSScytBEIwhal3opnRwTemaRYLbJgDajFbiaMqcDKki bqHz7KOH7syrglz5PnGa5Qw4+ZkjN9+MHTtXDdbSqxHIumcaaoAPstgLw010LjpRD273 wda/3tKCNYJzb1hjVExPIxTtDfZCiUX35v55FQP0hCbMv1yAlGWH7WLrP9LhWEXBoim2 45ZEOV61CciVhQGItbjdyQ6+77V6TzR8JFkd3tV73zj2j+DwyM03loBCJLdoEbnLhymx /U8/QMoisgcWpURsMpRoHDyoYvvySBB/iPYy5sveaDXABIjenQqgdxYYrTiYv02MW6ZT moZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771072807; x=1771677607; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Qfe4t1IfvFtaq6PrP7lrtAAdNePeCLs4FdSACzw0PJA=; b=ovmsvESajjstYYSn4HNr3QrtxIc2yrgJm8KDBPgt1mM/Nb2L65OYUe9XVU0gvXDxtj t0WErPRFIxe2Pk1CQVbMlXy9fwQYQ7jzhsPrSACsybYVeEYOkNIpVtYL8IkUHAYlMgQG xs9cye8Ve/Sx5tGIw41Xma6si2cL34bjzahipI2Cnq5sGCTlyQIxkiHQd91loSO4piu8 M4ZPhW8Xp7BlmF6V0OzLYgV2K+I8Wpyl9W+qHK9tQHY/8gxp/gBpeY3mfzMak7lX/omq iN6faDYLs8T2Eilqlwt/2luFceosPw2Wk5OzZW6Ln3lckAHyJNsHu41XL/6MuDdg9RFg +fTA== X-Gm-Message-State: AOJu0YxMHUSelR0RxfQPxdPrB3zxYgM1cqdn1E5+j4PqiJbhFRJW9Jfp RscKjuiWqviiUXsPn1hNJm4ORPgjB63fCKbnCf5vKZMGrklr00vfwguUGjQDmwLqOd4z3m8MP7M nQilzLEBe9XarEpofM3uudMDtLjTi0lttxIOP1LAH0v3HAxIwqvR1Gn6/8OU/sOKnryubL7o6Nz s= X-Gm-Gg: AZuq6aLEwH3rmhFrLWYYrhiETZ6zkbM/f/6Ge+3lBs7FFRjhVUxpOP2kJ7dvXA2FDt+ kvkPWMK06E3uBTmtidGd5xx5yMQDdwiLv1a4uMSBqku6H2wQvKpiqHg5zpXZrLveSEJ+JRLGuR+ qjnN1Pbhyu/Ud+h7vgkZiLNMtM7ZBa9cGZoTWst1ojvFe8BuIfymhqVhyB86LD9aAkYIAU/uUhp in+QbDhY0ZsImU5fwhbYqWHGAwmPPsb7oTIYTywt5yIUCwXc43JWwHZ8Fd8fzSQkM1qQ9EixK7W bLhzeg3/L87JpPsGm7Rh3wOQC/6bLQbl1VhhcIKBmwZvBVauN2naM4Ro6wBJ6cZcY12kyC5lyeM 0wzTYRxxoqrPuf58gtLEMREFVyYLhaYC30uR/yHXnuqMMfg== X-Received: by 2002:a05:620a:2903:b0:8c6:a539:55d7 with SMTP id af79cd13be357-8cb4c00c94emr346485685a.55.1771072806826; Sat, 14 Feb 2026 04:40:06 -0800 (PST) X-Received: by 2002:a05:620a:2903:b0:8c6:a539:55d7 with SMTP id af79cd13be357-8cb4c00c94emr346474185a.55.1771072804086; Sat, 14 Feb 2026 04:40:04 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43796a5ac87sm13644215f8f.3.2026.02.14.04.40.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Feb 2026 04:40:03 -0800 (PST) From: Krzysztof Kozlowski Date: Sat, 14 Feb 2026 13:39:42 +0100 Subject: [PATCH RFT 3/3] firmware: exynos-acpm: Count acpm_xfer buffers with __counted_by_ptr Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260214-firmare-acpm-counted-v1-3-32af5735470e@oss.qualcomm.com> References: <20260214-firmare-acpm-counted-v1-0-32af5735470e@oss.qualcomm.com> In-Reply-To: <20260214-firmare-acpm-counted-v1-0-32af5735470e@oss.qualcomm.com> To: Tudor Ambarus , Krzysztof Kozlowski , Alim Akhtar , Kees Cook , "Gustavo A. R. Silva" , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-hardening@vger.kernel.org, llvm@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1912; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=vAX0qIkhBcbpZf/oznc21YsjusKij9EY5BmIgI9Sr7s=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpkG0c/JRXcJY9Sc07saFg8+mEauct0i5cEA9pB pN1qP2vzj+JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZBtHAAKCRDBN2bmhouD 1z96EACbWxdW5F32wYbd0rmoZMRy4j/Wn7g4wHkVHbOV7LkRawfegVoTDDp6gimOSqT2X1dUfUS kOeR/Wu+/gucDSpJFkauHlYuyopevHBV5pPc4H3ZejnfkaO49GnBxi/MdHNDtspXYLc8ICrCJrz 150dtU/RDT+aC8OCJd1yqorStz34XjChvudY8SSrSyFtfDL0jjGw3q8Y6S6g8LHhq9uSOIOCyxV MP8h66ge/AWsbtKw50xSWT1j7SOsaenT/rZAu4jlZLXf7uv0oNqxs6riNKP11pUce25bsNsIPOO 5HmMBpDobHXrbUJxnzehI3rsQZy1L8zZ6WtgR+pbi0KLg+3Hc0vrZxVqIRd5LJeFym0f6JRO8Kx xKi57yWYjIWsp0zzcMMw2jqYOsVnsrd6G7JrEfX2qOZumcj3BqTHzYrZX2plwgEuNVItsvBX+1w NBAlEAMFa6xHAcdfTLPKDEwTBNdUdywvkk21TPPPRfWm4tzVpHvD+UI//TRcsj6MkdMTu7yk7ai 4RcDWfhQ0Eg5UxvEDGDnODNyuKGZxHQRdjFakqLm/oaaLSEoRQNC7BJE5vRolniL0aVOLDo7Igf d8P5YdI+AJO1MAOHwA2HUB1pfCsEFgdta3kwuthJAOSf0rimyzJzPUzqesCcLbjQ7Dp3iAltBWm 7xpZ3UeXzmjldTw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-GUID: TwSSIlO5n8QmhUCwHDkMiydCJPKDM-HB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjE0MDEwMiBTYWx0ZWRfXyT2uWhFWQKpR C1booDDOmTLTNGPzgiDvmppKiAtNsAICw0Ln3xY7uZQ10Mre5L1JnCQ/AI0ezHApnT8f2U9qIs6 wYq+/Xhav8IK7wdbphMhvEbTcZPEyUVoPEmCCEbBANqETNCR6it/9HpHxsFhUEncqEnP4c2U0LH lZDpbs/EEsvjuucNRtfuWINS04oeFCVvy6u8+7G7WUipsRvjqF6kBtxt3VnoNIiqJY7HjJ+jQxz nKDCO+DLrqf5Xou0KqkLNwNvzl7gdYUw+TfimX9k1OO2QH6ou82nIG2ZbqCYXsbrwDX+KsSz1OC t/PO8mb9Z2avyVB3UsZTbctVBkHA5eq0Oz3uMyF7CTgdaVOZ/jgZOromfkpXQr4L+dF5WRfpORS i0SFJg6d+o9ggvvsQ3vYHooyUB0+3P/CXdN1j2gIKe6+KKsomY6kBvtO71T6YESKB4R2C++i8Wd oSNCOSpDgHrfcNhTNjw== X-Proofpoint-ORIG-GUID: TwSSIlO5n8QmhUCwHDkMiydCJPKDM-HB X-Authority-Analysis: v=2.4 cv=aetsXBot c=1 sm=1 tr=0 ts=69906d27 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8 a=S5Eq-Qd902Z19Fn_UHYA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-14_01,2026-02-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602140102 Use __counted_by_ptr() attribute on the acpm_xfer buffers so UBSAN will validate runtime that we do not pass over the buffer size, thus making code safer. Usage of __counted_by_ptr() (or actually __counted_by()) requires that counter is initialized before counted array. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Tudor Ambarus Tested-by: Tudor Ambarus --- __counted_by_ptr() actually maps to __counted_by() for clang v20. Alternatively we could introduce new __sized_by(), already supported by clang v20, but it is not available for GCC, AFAIU. RFT, testing would need clang=3D20+ with COMNFIG_UBSAN and CONFIG_UBSAN_BOUNDS enabled. --- drivers/firmware/samsung/exynos-acpm-dvfs.c | 4 ++-- drivers/firmware/samsung/exynos-acpm.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/firmware/samsung/exynos-acpm-dvfs.c b/drivers/firmware= /samsung/exynos-acpm-dvfs.c index 55ec6ad9d87e..a4864973f65d 100644 --- a/drivers/firmware/samsung/exynos-acpm-dvfs.c +++ b/drivers/firmware/samsung/exynos-acpm-dvfs.c @@ -24,12 +24,12 @@ static void acpm_dvfs_set_xfer(struct acpm_xfer *xfer, = u32 *cmd, size_t cmdlen, unsigned int acpm_chan_id, bool response) { xfer->acpm_chan_id =3D acpm_chan_id; - xfer->txd =3D cmd; xfer->txcnt =3D cmdlen; + xfer->txd =3D cmd; =20 if (response) { - xfer->rxd =3D cmd; xfer->rxcnt =3D cmdlen; + xfer->rxd =3D cmd; } } =20 diff --git a/drivers/firmware/samsung/exynos-acpm.h b/drivers/firmware/sams= ung/exynos-acpm.h index 422fbcac7284..8392fcb91f45 100644 --- a/drivers/firmware/samsung/exynos-acpm.h +++ b/drivers/firmware/samsung/exynos-acpm.h @@ -8,8 +8,8 @@ #define __EXYNOS_ACPM_H__ =20 struct acpm_xfer { - const u32 *txd; - u32 *rxd; + const u32 *txd __counted_by_ptr(txcnt); + u32 *rxd __counted_by_ptr(rxcnt); size_t txcnt; size_t rxcnt; unsigned int acpm_chan_id; --=20 2.51.0