From nobody Mon Sep 28 15:34:28 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 75C6A3546D7 for ; Thu, 20 Aug 2026 14:31:22 +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=1787236286; cv=none; b=W+Km+hNKpmi2M4GNXmAxR9yyLPjMPfxc4yrbaRvbLI15Hx6aj86YFmuOkPg/0sma4EDUnMqmn0fI2pJM2LRmWLQhoxzCjL11aTuv+mT2OsudcCHn7nAdLxjdmtOFHEuAhYnD+cjGBC+gE4Cc2PEdwF889ScAynVBiHOWHA3oQK4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787236286; c=relaxed/simple; bh=BhkOYK28pMRgnAFg3axElJ/0jV+SlRNGNmaeKhCabOk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oLV9rI+gu30qjKQk6PaaXzJQSbd/ZRMgKpecT+5Dn1yZ2krdPS99EqYbBUH22YP1gHrV1XnVIJ7nt6/nbt2AOkoMWcovNt4+SYywKSThanKua6nkVgAAOYIwNSaoEWhaBuuQ7w6ZYLeTuvdHG+oPa1jaIMmtJN7xUvNHKzlosfg= 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=k+HO7BtV; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=J46gNBau; 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="k+HO7BtV"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="J46gNBau" 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 67KE7WHe3559836 for ; Thu, 20 Aug 2026 14:31:21 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= w/t5DVoi7TH5Cdgh1wqQM1FGHTFp6QNHPSNcYTK660k=; b=k+HO7BtVyOTPCX5k vngtbsUGCspDYm1c3h3K++oGDzn3zab9VMva/c//EuPvz4e4G1/qDWH3Q1JdWpud 1tqhJ+72fMQqfRCIAoeptvXHpJ7HxqnJjaxIjiRK8Y1qoooPWAJXdiSLmuMEXndh t1cNF1vBekOT3e9UQAB7pmz2Jsl+s6zN3ny7+2pFaG3vuqZM92+9nPuMae9Airx0 oBiALQPwmNVMeM8PTwzHb7/JhuELcE0ZJoZGG3A0xsIGsA/I9qDrTeerhZs/pm1i EiVC7bDEiZFzLWIWlZIS7iDyskfKATj3HTSXfcb1fBbcZllpowVDiCuAQVu0LSB2 aq6arA== 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 4g5xuk18bf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 20 Aug 2026 14:31:20 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-936cadb0e8bso198195085a.0 for ; Thu, 20 Aug 2026 07:31:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787236280; x=1787841080; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=w/t5DVoi7TH5Cdgh1wqQM1FGHTFp6QNHPSNcYTK660k=; b=J46gNBauphgcSZnkmrBkuCBsnH+B6uLyTYIjKmmtDqbWGZa1SKsbzqvt9ZkOQ0tzWz 9pwfIIVghNs3NEINuqAPGfUGEr/8nbBSvo0ZNdETRtLs4BhOUHOQ4+9bXGKhLAcy7leD MXkRfbOSu8SElbK/oppMhr2DquwxiYHhHL8CgTc4RrkbpnxlHeJP1kdQtYmmM3hrcvwk ppMtiLPDeZg0Fj+bOSp5Hg47Nqi+fNr9Z0tJNQkfR7rgTqdOMcpdroRuVWABS1IJHZY9 Wrxho0IplLqwKS+HDIjJ992jLP7TQ2u3a4oj5GYYUch9PJIc4jLgiy0HXGq0SK7X+kj0 4rZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787236280; x=1787841080; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=w/t5DVoi7TH5Cdgh1wqQM1FGHTFp6QNHPSNcYTK660k=; b=hiH7M73k6VWYAZwVmdNqPw8NhvUssalS2V4pXB4oPyFU4HSbmeO5X9kEAdmh4DNUXR M1vXClXRXC28UjnomEuhr0MVCtNvTmkgfNKd9O56g7k8QWA9hsSUC43Qqu5AgQ7KXh24 q9W46xM3ZwYwVJ+0LlVX1XWHxFjJwAptVa4vYlGvtwzu/ZxfLX5xIP2Zs4uiAKk2gqpT LD2VmhsK8KLxD83GpZnORzXY53meqClcQOyLZQQRE+2nFk9erBtMW8ANJZ2oziOQcZyT XD4TxqTlT66SX5ZjxOCTc0ri1a/dJSp1U82hZR2Sky6E27V/Wu0ECFP5I3ky4tDdrrJX Ye5Q== X-Forwarded-Encrypted: i=1; AHgh+RomhXczBrYQybyKFkqIhFLYCqJDT5OlsprBq4fWfiB8pDA1ZIj6ksqKPJ6mQCpxjE2y3kmOAyXky6njtOI=@vger.kernel.org X-Gm-Message-State: AOJu0Yyn75KXwRlfhjdoN1exy4A61dSd6M7PcBSwgWpuudR7gKPNfffo hiK983zVglvodpfuFfLlHXI71Fr8wrackumP6fPSmKCOxKpO8+okdQhpSKf6RAbEKSUv2n3y5mF UmRX/3z8R0108kp0dIz5xK4tbe5OkLYjk4hp6+DGOIG/jKd+ACYDNzckJj+ExJJ2qPghT8+REBp g= X-Gm-Gg: AR+sD10kt+C1h99JCAdu9VQ6GKdd03Wv956+1+HT7226lXo8sYq7Gehc6POwAeU2Scy qxYPzWrTkkhbKXoRRxgv3Kohs4og8fIpEgyQ7l8f3EHjphGQ00iyI9vezq80MkbGnn7M4ZhFj4Z aciZ5SJBiBenX9AeMavMSgV/a7IsqlI5y34qF5GS55W9tOdrFYItcJf8D74H1eNuNBpUh/4x4My gnFe4dXR2G42Z+dhcrmDzdxdWOqKJZApfxQP9MPF5nARfDCSZLSzsJivD4aBAgSdlg+25LZ0iwD Suuh8FMLwc+VETiY0uM/c5txY+iC7UdYq8oK5rt2MWFUFgK309YtpFnzlaPoc2/W5GWcpNKs+Pe 0BW8pKOALUFKLnW+XaWzzKJNU5C167Wk5Q4s9 X-Received: by 2002:a05:620a:4594:b0:936:f984:bbb4 with SMTP id af79cd13be357-9371e2cfc85mr1067601785a.3.1787236280228; Thu, 20 Aug 2026 07:31:20 -0700 (PDT) X-Received: by 2002:a05:620a:4594:b0:936:f984:bbb4 with SMTP id af79cd13be357-9371e2cfc85mr1067593185a.3.1787236279786; Thu, 20 Aug 2026 07:31:19 -0700 (PDT) Received: from hu-vdadhani-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482b145c9d7sm15226618f8f.15.2026.08.20.07.31.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 07:31:18 -0700 (PDT) From: Viken Dadhaniya Date: Thu, 20 Aug 2026 20:00:58 +0530 Subject: [PATCH v2 1/4] soc: qcom: geni-se: Fix endian conversion for serial_protocol comparison 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: <20260820-fix-write-to-read-only-firmware-buffer-v2-1-7badcdc455fe@oss.qualcomm.com> References: <20260820-fix-write-to-read-only-firmware-buffer-v2-0-7badcdc455fe@oss.qualcomm.com> In-Reply-To: <20260820-fix-write-to-read-only-firmware-buffer-v2-0-7badcdc455fe@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Viken Dadhaniya , Mukesh Kumar Savaliya Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org X-Mailer: b4 0.16-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1787236268; l=1170; i=viken.dadhaniya@oss.qualcomm.com; s=20260324; h=from:subject:message-id; bh=BhkOYK28pMRgnAFg3axElJ/0jV+SlRNGNmaeKhCabOk=; b=iJQJCCKhcAJMSKaI/4t0HLYDUFkDFGoH+1Fm9791WNrlxjwkVegDOzDLJDcZDypTHk9xeZRgD Ne7/j/jUjpwCwijydn0HDlBgTrxIKdzDDAFvzu0z33ZAcMbQ6w5EQJr X-Developer-Key: i=viken.dadhaniya@oss.qualcomm.com; a=ed25519; pk=C39f+LOIGhh/02LQpT46TsUSXRvBn9qXC8Xb26KJ44Y= X-Proofpoint-GUID: 0te7ka-mbSKW9O2ELewsRJxF2yJKnCfb X-Proofpoint-Spam-Info: AW1haW4tMjYwODIwMDEwOCBTYWx0ZWRfXzRD4wdWNhkqT /JKFhlp3YYUpRgdHyuXmTJNJuLQPmErZq0QMyKEQbpDogOjfwV+z9UbBPv3tuU2GZhq2rgSvEab XE4ldDnDCv18XgXdOX2xyTWR2Nj2vho= X-Authority-Analysis: v=2.4 cv=T/O8ifKQ c=1 sm=1 tr=0 ts=6a870fb8 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=BdrV15eiT15NMrSX6N4A:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIwMDEwOCBTYWx0ZWRfXy49j2wksLYGW 0tOBiDlmE6VLSP39WkaaNGQ7Z3odak8bMiMR2jDfPWKwAmrJCRDWl6JLPMwDZPoOae6mY62VUFP 7vZGRWdTkD0WFzy1aZ/8nl6BOa1P8r42cWdkejxftDNSzGz9L1Vq0D8TtezR95frJy9gAcM2ol0 lUWQQwOXLJ9vYWvXy2L6d6goKG8RiTAXpnCIW3iNsWF5D/bH0YvANKz925FaGp1kJ/IQCiW2fzo C46VVtFQOXVjyppyVSMdftOgKUJ/YkGfbKFT65m6wiOUXyolb/VD42rF3aAu/nUH82sXulsd/31 N3/7VQdZWmFRXh36V1Mc2F3pmE0A91pMD1HmqucOGQE+ZWtNnNajsXj+xau2Dd1BcrEdHQGJAz4 0UMaQ5d21HXbTE2eWh5YH/b7Vkf7+U4u8TH5m1YO/+WKz6cWcYVhRliKFDUYuhktJm2XtVTibzf 9yRQZjETAsYinVHCQDQ== X-Proofpoint-ORIG-GUID: 0te7ka-mbSKW9O2ELewsRJxF2yJKnCfb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-19_06,2026-08-20_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 bulkscore=0 spamscore=0 adultscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608200108 serial_protocol is declared as __le16 in struct se_fw_hdr, but was decoded with le32_to_cpu(). On big-endian systems the extra byte swap causes the field to always compare unequal to the protocol argument, so no firmware segment is ever selected. Use le16_to_cpu() to match the field width. Fixes: d4bf06592ad6 ("soc: qcom: geni-se: Add support to load QUP SE Firmwa= re via Linux subsystem") Cc: stable@vger.kernel.org Signed-off-by: Viken Dadhaniya Reviewed-by: Konrad Dybcio --- drivers/soc/qcom/qcom-geni-se.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/qcom/qcom-geni-se.c b/drivers/soc/qcom/qcom-geni-s= e.c index 873bfbd6b2b7..1d6e6611441d 100644 --- a/drivers/soc/qcom/qcom-geni-se.c +++ b/drivers/soc/qcom/qcom-geni-se.c @@ -1298,7 +1298,7 @@ static struct se_fw_hdr *geni_find_protocol_fw(struct= geni_se *se, const struct if (le32_to_cpu(sefw->magic) !=3D SE_MAGIC_NUM || le32_to_cpu(sefw->vers= ion) !=3D 1) continue; =20 - if (le32_to_cpu(sefw->serial_protocol) !=3D protocol) + if (le16_to_cpu(sefw->serial_protocol) !=3D protocol) continue; =20 if (fw_size % 2 !=3D 0) { --=20 2.34.1 From nobody Mon Sep 28 15:34:28 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 DCCB9306768 for ; Thu, 20 Aug 2026 14:31:27 +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=1787236289; cv=none; b=ipQyqRjxZSNql/3IWg7ziIegFK22uzp9J0lp1u2BmZDxYZQQfw0hlYRjdrKaQ/QPRIRfJ/SeeRU4OMms+rq7suuCjr1EEC2mFCZC8U8K79U83/vKlph7xi8Rt3GHKr/cOeMnsvduZtzEqulYymbJRcpA0gf/8j/ZUyhM6Nmzoeg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787236289; c=relaxed/simple; bh=Z1k4/QscsbFRjeAOpRbKCvEmSZmOvbE9dLIwQreVb0o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=R7B8VFgW0xu+5LXw0NIiE0xg1K+mZQ1pufxlslLCRWS4bWd8aPbQ+dlOGYhQstaZIQ/I6AoFHawwFTLE3RelFSS7Os0fnOfLGiT0gznXL66oPbovSoNlRnSPmFwaZyxJCbrN37uqa3ltUY/GaJBVkgzD2tlPAQCsOCKqBZGh6+4= 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=dzH4VPi9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Q2jYnl66; 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="dzH4VPi9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Q2jYnl66" 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 67KE7WHf3559836 for ; Thu, 20 Aug 2026 14:31:26 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= pdnHnnpqnk6IVbK2wNTQ3gGp9RIqRpV1CeclDNEZQ5s=; b=dzH4VPi9UB2k5HSr MNFBA98q6qkkla1VdMxqDoQS30kQ8ge3x0F07cnv2fodoWm6vbVigGLIJhQ7fUP3 kZdI9p35dL5PS11xPD4eXmBWCCFPdU9dbiM7KRFRVOeUWlHJbbbsCkega7Z8pM2m RXeGlTHqW9xF3fQlvfllJWAoCph3MdBt64+CutZEBAHhmPY84qbTc5SwKEWclKeT D747SBaf99SutW4XpbGsBSRNOd+bCUXJHObGGkHtu72QBRxlOkTjkayHbU51a7xH 4ZHriD2CL+GJrnBYXsTO2lC3QTCWR0v3qSAZF05+JaXJGaAHaGcfaWnzkdLfdZnb 3jigsA== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g5xuk18c5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 20 Aug 2026 14:31:26 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-92ef13b61bcso341139685a.1 for ; Thu, 20 Aug 2026 07:31:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787236286; x=1787841086; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=pdnHnnpqnk6IVbK2wNTQ3gGp9RIqRpV1CeclDNEZQ5s=; b=Q2jYnl66nSVhPVHXvxGmuXhYsI1mYMPX8HCQLy0auwIUFFokqx8/hANpqaZMoRfGpO eufN/adY4dTvKglEtngbnETcdFkP+xmdag8lmL9KzDIgv9UVUD0Kk3x/am06gik45V9S k+ozqwJBt1mPTZBZwPSFgD2FiA+ikBF1jaLV0HLIKEYuoVx4LyBq2A3kxvQciOdxE2Of 8I5fCxTCH+nCXKDYAyksHUwFxWDwzXUvASQrxx4n88F1pmaiRcxAAElUgcGmOvRtuCMu qc5lUagE6iKrK8bBy1cCnjqGQEz0sO69dUyq1BCBqxPaqGI5OaI52USVqFlQE6w2TYtL UHIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787236286; x=1787841086; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=pdnHnnpqnk6IVbK2wNTQ3gGp9RIqRpV1CeclDNEZQ5s=; b=PuW4rNEDe728ez4jTMzoMI5PSp5IQtxllOVSCNMpFt4C/0sSPizS0isu3am097OXFq uw6VLJOI2T8wtLXX2Mtn6FHc3uJJCjD0GTjrAqyd+KCSOnQ6cAnEblvA5/ilaMd3eRWg HoQe1e2m7k7QWCt30MdsIweG4BoqwmVqYQNiruJJT0A51Jbp1MCm6dzHVVnLf7PCW0NA eOH41bADbrx6FhNwFHEEpyUAOKsO021Dies0hIyXdVzJ/7VIeZiMQD6a5CudZSnphH83 /hZa4AyMtWtu9vQQLrX1wc5KZPpg656jKB8Oo7PtFQLZKq2fsRHNy2xwJ7/UnBx2oSx7 IORQ== X-Forwarded-Encrypted: i=1; AHgh+RpZAbinoR2/E5s+LMnTrVgXyublJiEF7Qzt8iD7/1NcJ79P9udYh+iKNzQlOsmOA18EK39xT73UlBA4Zvo=@vger.kernel.org X-Gm-Message-State: AOJu0YxSekXtRlA8MD4sW5/AwGspGIWM5zEduOLWwYDnw0recUgQ0HA3 LIRHZytLz/oQPaJwdV96a4M/UC/FFU82sjsYuIgeloHOYdWJj6bbIJgmuTHMUhphfYVb3W3S1/r gWtS1nAXGSaw3DvrTxY9Z52xm0eHyj2Wh2r8aI08jz/OKeOyFkYjzTgovAoV5exBui0LsirFrL3 8= X-Gm-Gg: AR+sD12ohsCCRqU8wxDU0SXUCROKZ8fenrdp5iTftTCE+XHW+zdLEOW/2hgPMaAJxlH RcioZpKGXEY7RqX+M074lSE4+v54xDDGh9C4+HTJ2snSmGEBFseb1xzt5iWpj9ScXTKdBNxDYFb lYfOrqeKA9I4kdbxWViK74C9yZHfwcRqrINQRSi0/EY7zRFKZ9wuCHLv7Yq2pkq9wnhEX7aefk0 /9F47Q4RGQxeBoH0XFp/XV1r4/tpjpWRH7wBpEq+ZBHPF8eFUCwzwKkt6iuDV189mMLj0nGE8Ti O0DsQGJQp9BW+WMBYIkeudtim5hjvOJOfMOdExowMouqT0rMAuTb72ziEAJvt2zQznzCDHQ5iha PBCh/XyxnWlh/rt6RGqp7fmD2uPVBL1oHK7B+ X-Received: by 2002:a05:620a:711b:b0:92e:ef09:f8f3 with SMTP id af79cd13be357-9371e1dfbc7mr1256742485a.2.1787236285499; Thu, 20 Aug 2026 07:31:25 -0700 (PDT) X-Received: by 2002:a05:620a:711b:b0:92e:ef09:f8f3 with SMTP id af79cd13be357-9371e1dfbc7mr1256728385a.2.1787236284732; Thu, 20 Aug 2026 07:31:24 -0700 (PDT) Received: from hu-vdadhani-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482b145c9d7sm15226618f8f.15.2026.08.20.07.31.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 07:31:23 -0700 (PDT) From: Viken Dadhaniya Date: Thu, 20 Aug 2026 20:00:59 +0530 Subject: [PATCH v2 2/4] soc: qcom: geni-se: Widen fw_size to u32 to prevent wrap-around 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: <20260820-fix-write-to-read-only-firmware-buffer-v2-2-7badcdc455fe@oss.qualcomm.com> References: <20260820-fix-write-to-read-only-firmware-buffer-v2-0-7badcdc455fe@oss.qualcomm.com> In-Reply-To: <20260820-fix-write-to-read-only-firmware-buffer-v2-0-7badcdc455fe@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Viken Dadhaniya , Mukesh Kumar Savaliya Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org X-Mailer: b4 0.16-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1787236268; l=1108; i=viken.dadhaniya@oss.qualcomm.com; s=20260324; h=from:subject:message-id; bh=Z1k4/QscsbFRjeAOpRbKCvEmSZmOvbE9dLIwQreVb0o=; b=8faUUOqsJMcLEuqNXdDrk/VHeFrVnGtd5XgDfJaeCCOVE3AGqworiWtlugi79fkhuhXOv9Vz7 tJ2GR55wF6QDqZXYp4DsXAHODZiRPWrppNJfA9Xt+oRL67SxU+U0DMB X-Developer-Key: i=viken.dadhaniya@oss.qualcomm.com; a=ed25519; pk=C39f+LOIGhh/02LQpT46TsUSXRvBn9qXC8Xb26KJ44Y= X-Proofpoint-GUID: rH49kawwgCP3e9LjGyBtw0Czkm62zzeF X-Proofpoint-Spam-Info: AW1haW4tMjYwODIwMDEwOCBTYWx0ZWRfX5wzz1Vl8dt2W VLsgbBbLDCzFgqA3nFpexIJUs3U44woeWglwGOOFxf+PpRcKI4UEbptXjzAih3wXGvEvKeIpwUz svZNXCSMIq7xX8Vn5dUJa4aMXP1DAqg= X-Authority-Analysis: v=2.4 cv=T/O8ifKQ c=1 sm=1 tr=0 ts=6a870fbe cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=65oZO8-CLbckpCt6umIA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIwMDEwOCBTYWx0ZWRfX4Gm/QfA/ClTo qL4AFtMRSkln08ExsZFKGn9v/rPulPJUv3yTx0KhrJy2mR3llWJ2V7lmJtBvkN41blUv8SWdAQn znRcTZNV9KBoOM61JYO1DHM4BwyEBfGwYISiWbmCzTSrjUqLjbEKAX+TB7EWg4uES6VN1EcTcF3 59yET8lZGcr0CxeiGm9T2NdmxBpKSwCwKKK4FfpT47P2Z7Z89bPSofZQHhVhP1JLc3l8zO1hHyk GmDfoBKOGXEwfo6fBLH52xdMebdqTqmBY95RimxQ9099Y91QqckjrneGT9oPIcxDltGUpRzcC2m 9qZ3n0E4csBM06WZMuG250/gT5Nk2IQAaF3kCBq4hziPX7Dqdn+PfPRP9aZWfjD1GPp2aAR5Qvr dNmzoQLjxS09Wo3DffTf5emNgB1JVeCYRpxcnd4+Wcz7a7jIaoBGVvSWXp1ymAGPzOdW9hxMmZy 6iV7MqFMJpszLGylHRA== X-Proofpoint-ORIG-GUID: rH49kawwgCP3e9LjGyBtw0Czkm62zzeF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-19_06,2026-08-20_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 bulkscore=0 spamscore=0 adultscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608200108 fw_size is read from the 16-bit fw_size_in_items field and incremented when the count is odd. If fw_size_in_items =3D=3D 0xffff the increment wraps to 0 as a u16, making the bounds check below pass for a firmware segment whose actual size was not validated. Widen fw_size to u32 so the increment never wraps. Fixes: d4bf06592ad6 ("soc: qcom: geni-se: Add support to load QUP SE Firmwa= re via Linux subsystem") Cc: stable@vger.kernel.org Signed-off-by: Viken Dadhaniya Reviewed-by: Konrad Dybcio --- drivers/soc/qcom/qcom-geni-se.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/qcom/qcom-geni-se.c b/drivers/soc/qcom/qcom-geni-s= e.c index 1d6e6611441d..54c0a66d6dd6 100644 --- a/drivers/soc/qcom/qcom-geni-se.c +++ b/drivers/soc/qcom/qcom-geni-se.c @@ -1248,7 +1248,7 @@ static struct se_fw_hdr *geni_find_protocol_fw(struct= geni_se *se, const struct struct se_fw_hdr *sefw; u32 fw_end, cfg_idx_end, cfg_val_end; u32 prog_ram_depth; - u16 fw_size; + u32 fw_size; int i; =20 if (!fw || fw->size < sizeof(struct elf32_hdr)) --=20 2.34.1 From nobody Mon Sep 28 15:34:28 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 0CA24353A91 for ; Thu, 20 Aug 2026 14:31:32 +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=1787236295; cv=none; b=nN36q2N8BK4VkMDCykXkvMYQPriVMOixMFhGHEp3u4mbwED+fUYEZDB1IecpKT8IWQO0ZiepUwEZn65DXDADmJO+J81enPSD60TbPUmWyNXwQ14pPz49kH2+gZVLjMGpj0FS45BVtpPzfhsF2uV3Br7EAWKmiGGzTThqg/SU1ic= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787236295; c=relaxed/simple; bh=r/aMG71rbNo/S6UKVNGEmGXZ3oMHRMlBBnvkHh++Zs4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GjkxZ72rZ3AHDZTfqrYtetlmi33hf12bET3GELzXCmNSR6o9XU6VHcynRcqB+jeFSCLD/siq+l1TUVOukw7zGwh+aUVGE8LlivW188ryOlZ8v75UpPpc3zKDbumbkZupO5JrBk1113w4VWafe7OLXz5/bOachrVHvZ/Nu6ApDsU= 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=Ap/JbhVg; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VApScuvx; 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="Ap/JbhVg"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VApScuvx" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67KE7kae3234908 for ; Thu, 20 Aug 2026 14:31:31 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= PvwUyC83yu4XUNEMIRKr2REu9WIwE214jdhfMG4Sbcw=; b=Ap/JbhVgOoD7MASA 6P5eVIh4VW1RgBKEYqd2+jxiwnc/QOEFnxzSk25fXKRhcJAvZa1NeYonNBZQTRMN 4JIGUvcJRxyEUvRLO22K/Sa3ClRsO8GuXHOB2DEDBUfaBW+LJ2jHlOM5ZEj7ja+s UqiNtfJdZQxMgegKt0MT/EZPq6n1faRP8earRFUa4ypeV7HRZRFWWYG0m4zE0Rb8 Qv19/3+eEKFyoAbo1Qhhu88l3Ng9ETnDR98cPT42wC8fttYTyzBZaIAnrjiiN0UI 3SZRCPHg9r/2ZjOV1i+ZWHkyK+LdHgpLzhImt0MukNja3T3JmHSoRMckGsc4IHKl WgEXBA== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g5xbv9bwy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 20 Aug 2026 14:31:31 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-9372b9db132so118830485a.2 for ; Thu, 20 Aug 2026 07:31:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787236291; x=1787841091; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=PvwUyC83yu4XUNEMIRKr2REu9WIwE214jdhfMG4Sbcw=; b=VApScuvxjqX3x/m3NtH6grAm+NJBg3rIfHdu8qkNhY0IM7eNaEeD5vlftrj7NuCo3l Ae9Igxbrxi7K4a/B/vf20727qL10dxr7gTlT4N6xg1+jY/VBhwlIg+WK8MhjLMtRbBhc CVaZsOiaoFd88Zy1+bqao1phT/d8RSVb606dYVngacPD+DhezldLBqjZpY7yJwK6wXrq Gq8o1ewF3jd2eSIubHUo1p+Y+wx0VOF/VTBAgAMhRsV3qDY7NKeHr1DzFl9Zn8upYJ5S 8yOsTs/bSTFCmiwpRy4PXLU+E87ytmMFzKROB5UrcDZJf8TRqcDh0zDU2tGKBfEgeSuD Y+zQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787236291; x=1787841091; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=PvwUyC83yu4XUNEMIRKr2REu9WIwE214jdhfMG4Sbcw=; b=qJr/vjMZcFIlGEDUr8waKtQkBXXCx7ndhCXkh1UIUy7vkWQ/i792Z58Q7PYA5gMQdn quyog3ALt8cNQPrRDPBXfll9qrU3AxCKn1mde5Mu3zoKKhAxoj9zqnFnV5ytkOYS2dFu S/Yvot/b72KKNGoqGfBVZtyWzu1+esUhAlONt+MNbNMix/FCWhuCcK4JLdAzT7YwDMMo KmnNXpQT6cvXpqB0W+ZI44qb+4BJM3Lz+N2LLSSI0M6UQrJwQ8aT15tgK7l3Zaw6UxRA Qdht6mTRKSojXn5GXiiZ1ynHmMnYMiX0MaF26I/zQ0vVHmowYjTC7Tsr05Xw5R8qqz1K xzWg== X-Forwarded-Encrypted: i=1; AHgh+Ro5pFLQgwQlV3VaHULV5sjCFb00rR5phn2W0KbZrgz66a7T2fMNmK5s7mj8sys8mB1W6ddXY7MGtPv7WS8=@vger.kernel.org X-Gm-Message-State: AOJu0YzSTD3Fj3D6JmuTykhI38EB4qS121YsfEHFUgLERcam7FF5zDwv RE59lBP7Tp3OfYIT1ANglCGXA4wm+L4XMaDKZg6Y30W5bFAgBELs4ssJkeWye1Dg7xZanKmATXT ELpHeb/Y7WIjXfphPB4V8+wjMCIkdvjOBcf439/Ou3DMTm/91g7EFpHDs5owFOPtwItUu91SgJo s= X-Gm-Gg: AR+sD11+AiBv4uj0Fxz+Hj8lA+AvnRKn2Zwp06UvTiktm+B/TjrpyCx6WKHZWxbiRq2 mW9sprblidvP7AArQPOQSYtKq5fN+xxC5BTjsFC4NUIMZirCjkMmp7o9kI4oYNfw6VnooKkdmzM hEoIgX88BUOLmBIrpnE30fnSj+mAEYSRjOIsQZo96rF/58q3pDjuQv2959QgkN9G5sMvQFnDQlc WTo7iyXiHbzI1FXJxdr2vNTr0Ptw6xHrPccs/Kj/4+TtZQfsk72eEHpQ3bj9C5fKxrMgwfwSMeW FfRIaycr5VzSP8GEXKA/fM+vx4d+cBEgpfCKFr20+LZA7Ht8zuk1BYZUnxYR8WIfAWUVTdz9ZUb 4iTxpe2UTmWLW9JTnG9/G2fkU/wpYaHo71QLY X-Received: by 2002:a05:620a:2406:10b0:937:2762:ef33 with SMTP id af79cd13be357-9372762f077mr611187385a.41.1787236291108; Thu, 20 Aug 2026 07:31:31 -0700 (PDT) X-Received: by 2002:a05:620a:2406:10b0:937:2762:ef33 with SMTP id af79cd13be357-9372762f077mr611178385a.41.1787236290586; Thu, 20 Aug 2026 07:31:30 -0700 (PDT) Received: from hu-vdadhani-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482b145c9d7sm15226618f8f.15.2026.08.20.07.31.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 07:31:29 -0700 (PDT) From: Viken Dadhaniya Date: Thu, 20 Aug 2026 20:01:00 +0530 Subject: [PATCH v2 3/4] soc: qcom: geni-se: Fix fw_end computed before round-up; propagate size to caller 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: <20260820-fix-write-to-read-only-firmware-buffer-v2-3-7badcdc455fe@oss.qualcomm.com> References: <20260820-fix-write-to-read-only-firmware-buffer-v2-0-7badcdc455fe@oss.qualcomm.com> In-Reply-To: <20260820-fix-write-to-read-only-firmware-buffer-v2-0-7badcdc455fe@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Viken Dadhaniya , Mukesh Kumar Savaliya Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org X-Mailer: b4 0.16-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1787236268; l=4297; i=viken.dadhaniya@oss.qualcomm.com; s=20260324; h=from:subject:message-id; bh=r/aMG71rbNo/S6UKVNGEmGXZ3oMHRMlBBnvkHh++Zs4=; b=VJDY+5gW0WqfRPaejhG3tF65SjrzDwt8p/NFNJLW1L2nnRIUH9XYCXeidUIBosj4+qt4K2aAY zdrsFovCQyADtOxSUoSbcgnjurwweGKpIA4kb/jZ/g9f9OC0veTohS1 X-Developer-Key: i=viken.dadhaniya@oss.qualcomm.com; a=ed25519; pk=C39f+LOIGhh/02LQpT46TsUSXRvBn9qXC8Xb26KJ44Y= X-Authority-Analysis: v=2.4 cv=AMKAkK6n c=1 sm=1 tr=0 ts=6a870fc3 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=TnNaAZle1ZcGXod9oXcA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIwMDEwOSBTYWx0ZWRfXwPT90r8GZ+dr o4H7PWQRiLNp0TTLbr6DKruboeUykMOYayo11eTxPskyMC3t2XzAZhD2TOA3iMp0Lput8YymA29 KY/dQwcpN+N/UsRXq+RtakKZgHz3hqLPWFd10RjKS78j5Byuat4DPVr5zSIwXJHPCoOKPjlgPgq dM14QU1quLRN67IaJRpTjzR5Kbp+nW4ZjgcZfmM9HCMfrBYPUqQZQDwHfwvc1RqrtY8PzV6oB62 8Qo/M6XT6EB92wLJCAO38ajo2g9muy7MpE+XMd2Q42Hq1o3Lv9NwbkNHQ+2eogiBpYgzOEM1i6/ K6svJDdvz57lZu6qPMEotjoxlYTRRPIS1lStw4DLdpqjFb29TU/U3LlWqNdfoDImCZKk7z2ZDAg HmxWYf4issFEZ9000G+IbvU/DKnFqeb1ABzMPJhjedtE0dgWFEBxt5FP+rojx/BbYxuW3Dvs/DO 9K0rWei/czJMKXxfLVQ== X-Proofpoint-GUID: T38_7c2Dw5stk6ZwFjMLNAtHg3w6jkT_ X-Proofpoint-Spam-Info: AW1haW4tMjYwODIwMDEwOSBTYWx0ZWRfXwzQ2SNdM7V8o IWJaM9ndqR1cbFuCgdgeD2uB93+yw1o1kL8r0EqnKe2Kgc2Fb8GgWBHa1kdMIhJBQcmnsOU7txe sUY4L6CtjElG5nq+tUeKA54M/fevv/w= X-Proofpoint-ORIG-GUID: T38_7c2Dw5stk6ZwFjMLNAtHg3w6jkT_ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-19_06,2026-08-20_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 suspectscore=0 malwarescore=0 impostorscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608200109 fw_end was computed from the raw fw_size_in_items, before the odd-word round-up. A segment with an odd word count could pass the bounds check at the unrounded value but then be copied one word past the validated limit. Move fw_end (and the cfg_{idx,val}_end) calculations to after the round-up so they always reflect the true copy extent. The caller geni_load_se_fw() re-read hdr->fw_size_in_items for the memcpy_toio() length, bypassing the validated and rounded value established by geni_find_protocol_fw(). Add a fw_size_out output parameter and use it in the caller. Fixes: d4bf06592ad6 ("soc: qcom: geni-se: Add support to load QUP SE Firmwa= re via Linux subsystem") Cc: stable@vger.kernel.org Signed-off-by: Viken Dadhaniya Reviewed-by: Konrad Dybcio --- drivers/soc/qcom/qcom-geni-se.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/drivers/soc/qcom/qcom-geni-se.c b/drivers/soc/qcom/qcom-geni-s= e.c index 54c0a66d6dd6..11ca8223fbcd 100644 --- a/drivers/soc/qcom/qcom-geni-se.c +++ b/drivers/soc/qcom/qcom-geni-se.c @@ -1230,6 +1230,8 @@ EXPORT_SYMBOL_GPL(geni_se_resources_init); * @se: Pointer to the serial engine structure. * @fw: Pointer to the firmware image. * @protocol: Expected serial engine protocol type. + * @fw_size_out: Non-NULL output parameter; receives the rounded, validated + * firmware word count on success. * * Identifies the appropriate firmware image or configuration required for= a * specific communication protocol instance running on a Qualcomm GENI @@ -1239,7 +1241,8 @@ EXPORT_SYMBOL_GPL(geni_se_resources_init); * Return: pointer to a valid 'struct se_fw_hdr' if found, or NULL otherwi= se. */ static struct se_fw_hdr *geni_find_protocol_fw(struct geni_se *se, const s= truct firmware *fw, - enum geni_se_protocol_type protocol) + enum geni_se_protocol_type protocol, + u32 *fw_size_out) { struct device *dev =3D se->dev; const struct elf32_hdr *ehdr; @@ -1289,11 +1292,6 @@ static struct se_fw_hdr *geni_find_protocol_fw(struc= t geni_se *se, const struct =20 sefw =3D (struct se_fw_hdr *)(fw->data + phdr->p_offset); fw_size =3D le16_to_cpu(sefw->fw_size_in_items); - fw_end =3D le16_to_cpu(sefw->fw_offset) + fw_size * sizeof(u32); - cfg_idx_end =3D le16_to_cpu(sefw->cfg_idx_offset) + - le16_to_cpu(sefw->cfg_size_in_items) * sizeof(u8); - cfg_val_end =3D le16_to_cpu(sefw->cfg_val_offset) + - le16_to_cpu(sefw->cfg_size_in_items) * sizeof(u32); =20 if (le32_to_cpu(sefw->magic) !=3D SE_MAGIC_NUM || le32_to_cpu(sefw->vers= ion) !=3D 1) continue; @@ -1306,6 +1304,12 @@ static struct se_fw_hdr *geni_find_protocol_fw(struc= t geni_se *se, const struct sefw->fw_size_in_items =3D cpu_to_le16(fw_size); } =20 + fw_end =3D le16_to_cpu(sefw->fw_offset) + fw_size * sizeof(u32); + cfg_idx_end =3D le16_to_cpu(sefw->cfg_idx_offset) + + le16_to_cpu(sefw->cfg_size_in_items) * sizeof(u8); + cfg_val_end =3D le16_to_cpu(sefw->cfg_val_offset) + + le16_to_cpu(sefw->cfg_size_in_items) * sizeof(u32); + prog_ram_depth =3D FIELD_GET(PROG_RAM_DEPTH_MSK, readl_relaxed(se->base + SE_HW_PARAM_2)); if (fw_size >=3D prog_ram_depth) { @@ -1320,6 +1324,7 @@ static struct se_fw_hdr *geni_find_protocol_fw(struct= geni_se *se, const struct continue; } =20 + *fw_size_out =3D fw_size; return sefw; } =20 @@ -1430,11 +1435,11 @@ static int geni_load_se_fw(struct geni_se *se, cons= t struct firmware *fw, { const u32 *fw_data, *cfg_val_arr; const u8 *cfg_idx_arr; - u32 i, reg_value; + u32 i, reg_value, fw_size_in_items; int ret; struct se_fw_hdr *hdr; =20 - hdr =3D geni_find_protocol_fw(se, fw, protocol); + hdr =3D geni_find_protocol_fw(se, fw, protocol, &fw_size_in_items); if (!hdr) return -EINVAL; =20 @@ -1511,7 +1516,7 @@ static int geni_load_se_fw(struct geni_se *se, const = struct firmware *fw, =20 /* Program RAM address space. */ memcpy_toio(se->base + SE_GENI_CFG_RAMN, fw_data, - le16_to_cpu(hdr->fw_size_in_items) * sizeof(u32)); + fw_size_in_items * sizeof(u32)); =20 /* Put default values on GENI's output pads. */ writel_relaxed(0x1, se->base + GENI_FORCE_DEFAULT_REG); --=20 2.34.1 From nobody Mon Sep 28 15:34:28 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 5D6DC357A4A for ; Thu, 20 Aug 2026 14:31:38 +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=1787236303; cv=none; b=AGyUCBIkZQOp+y5X+NWX3LAnT22IPSb2IusIKRVidi3p2i/odHax8YdTQxmh+LhM3qkK4phfT74T5iMEARJRhi9GKL8WH0XdMHgXfIInP+Qf4071bUBVbV0bWizpj3Ip6GCEYQaC/5qyE3TAgPnObjOFvrlo21VqBeY9s1nVHlQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787236303; c=relaxed/simple; bh=cfnpr8w4exTVb7D4hekpomYCJ2mAqjyh/p6qZiUEzJk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pvBMWK9CoYS9F3RJ1Xt+fVtUEZCPXwjVsMr7AaoW7XXMbqTHBH1S962NYxXUixs9EixFlulAY1G8uuL3+g6hWeepDzKMEADmyObNGMHpYgE9Ld4TiAImiKOaBk9ULRS3/AzW3dOhe/ZO4CmfVrFw8D1MRdxEmIVTQp0D8nMBA3o= 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=gZjXr0lu; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=K1zRdT39; 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="gZjXr0lu"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="K1zRdT39" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67KE7d6C3987799 for ; Thu, 20 Aug 2026 14:31:37 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= MRJrBAJIIuvN/ZSCg19dnsWny7L4+vdYdyZCNWvV5qU=; b=gZjXr0lunuQ3G0Un V34M68L6shV/oh76Vo4becosqxZMKqBsDbNsle1cgVMtn/TvwF3djcY2BhTsU9+h 5KsedT2LHIvaZIs1qoKaNBfw2ET2usGHY5Y6JLHj0itUgF0W++QznRBK7e8kbU/j ezf89oWm2fj40AvxJoIUWfsFvziJ3Wm7FRRb5ZShbPsuAICND+l0rhFNRjZ4G1dc TsS/RgjJsJ8QxU04oF3APR6nsFijbHFsZBogtpKT1bEPiwMyms213KbiLsBEP2kr GJtaus0AzFv8MWKc+bzm+5dwg2s/5qaOOqfniQkiRzKW7xQEW4mO1aSiJTM4wo/Q xXOH3A== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g5yg8927s-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 20 Aug 2026 14:31:37 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-934963b2bc0so243882685a.3 for ; Thu, 20 Aug 2026 07:31:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787236296; x=1787841096; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=MRJrBAJIIuvN/ZSCg19dnsWny7L4+vdYdyZCNWvV5qU=; b=K1zRdT39nAGSJLbsCxjyKefv937a6/3K1hNaLMmdOqjcG6zLQXbDmR4ayzFDPMxhay 0emsQ+d6qQdQlRTPKunloDEtjU/A4ASZQO0DBavE8g1z5KAEEpxoD6MxjxCqseWMkDu+ xht56Oi4pzqIKJkNL3vzg+i8x3pe+6HpvUU5gD67mT4P4nE0LXY6bvdOr/YYQOJjHdGj 2pdOHlKr8i+v89EFnRf6dyKl04cmp6NvJgRsy9hllRq7t/BeEWLH/cXQChnP8NvY4KTn 1JRBPsu7k6Z5G2Dk0QKqVa8nMdpMh+n9af7C2SBTkPfrfbc1k6yBUtQ7T+FrJWqa6nqk C9FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787236296; x=1787841096; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=MRJrBAJIIuvN/ZSCg19dnsWny7L4+vdYdyZCNWvV5qU=; b=c7NApTrVSqSG0Z5vI7iY+X4CFjKNwraMqJwe4KSyb9P60Y4JB4zz7WXDOkhJT4D+83 bwKpObqDTgas+UeJ0B45aRfLIVowkrCrhWrGUVDyJJzbKoGLdqk27oyYXqTL8JWBgUzM H/ENUXI8nY6sUIMIJtP6rZ7kfUoaN8I7cr+2Kxz2pzSj+9aiksFbgKYPf2YXb82nn8Hw Dw6XrRj5tj3EXxXfxO1Ud+M3hKHRRuaeUzLrjdlALEkvf8F8yC6EWxWKgbXlJSoD4SNJ yVSex4vJoBV3tT2E5Jd7MjgjfZ7Dt5rbDBolnjgK3284yP0MVAn/O81oROd60RRoRtJl c9AQ== X-Forwarded-Encrypted: i=1; AHgh+Rq4buAx79oim2SDsAx2SPZNrq2Gpww46JfcIYKf/m1PP1eCRwPQDp2Amw4UH3EX4u4ZAhgCBiZiT/ExCgo=@vger.kernel.org X-Gm-Message-State: AOJu0YwQYWn8voKwkF3jgrU0NY/i6WtU5srDwIndLUzXaaL5LuNXkzs9 uKkJqxNIQmcygphYaDzEn1PA9i7wah79jBqpR37MBJfU56U8/jsGPUwfBtafJ88a275Su3A5NVs CmMFSOo+cs/rjEJb9uO/ydWrPdgcaRbqz3Yjf5vnp/snWRlBTWVdCBhaHEAf2xQ8OIrck7SmaEk I= X-Gm-Gg: AR+sD11vjIKytra8n0OpKQlAy2dVPeojMEGacLz0aK7Gg2NO/BxZHkyygmCxhnFnAJ0 UpdsQIPNECV7kuhDg34+IUkgxIbu/sFsSNFq8SSHz0Q1lX9BjYNkQmi3U/T0enA923vA3rKsZCB ioRXBtCtmi3EiSv3TdItZ193ZUawHQDtSrfaF0oBPpKAYUKKn2+VZ4Y64VGIXYoisUgyR1TF5uw qVcaO1yWjaddkCXWRcfWhK7+Dnvjtrf4bv5A65Uoa5On526B2L35C+xuqYyc/08vY6ASB7dxRdS gebtaaGRB6BBqJOj/XplGP0bTKONj7rBb7ENvBQGyGF6gvq37f88F5tv2WHRHYSfPmkiDqkV+pf 4natZ6LH3ayR08jTz0TCuu+7e2aBE7B2/tdc+ X-Received: by 2002:a05:620a:44d3:b0:932:df51:5172 with SMTP id af79cd13be357-9371e677565mr1114593585a.42.1787236296374; Thu, 20 Aug 2026 07:31:36 -0700 (PDT) X-Received: by 2002:a05:620a:44d3:b0:932:df51:5172 with SMTP id af79cd13be357-9371e677565mr1114587685a.42.1787236295917; Thu, 20 Aug 2026 07:31:35 -0700 (PDT) Received: from hu-vdadhani-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482b145c9d7sm15226618f8f.15.2026.08.20.07.31.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 07:31:34 -0700 (PDT) From: Viken Dadhaniya Date: Thu, 20 Aug 2026 20:01:01 +0530 Subject: [PATCH v2 4/4] soc: qcom: geni-se: Fix write to read-only firmware buffer 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: <20260820-fix-write-to-read-only-firmware-buffer-v2-4-7badcdc455fe@oss.qualcomm.com> References: <20260820-fix-write-to-read-only-firmware-buffer-v2-0-7badcdc455fe@oss.qualcomm.com> In-Reply-To: <20260820-fix-write-to-read-only-firmware-buffer-v2-0-7badcdc455fe@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Viken Dadhaniya , Mukesh Kumar Savaliya Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org X-Mailer: b4 0.16-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1787236268; l=3738; i=viken.dadhaniya@oss.qualcomm.com; s=20260324; h=from:subject:message-id; bh=cfnpr8w4exTVb7D4hekpomYCJ2mAqjyh/p6qZiUEzJk=; b=KyncpvB/PyPrsZZTl1Cr+9096Z5a+RG7GUCCaD7GOs/CpdDTqqm/8/xeLfGtM95LL4CYCFGWU +XtcYWN3GSBDeSU3Nvuzj23sIFdhIxbDthGUJAqudI+DFaQrgRQsBho X-Developer-Key: i=viken.dadhaniya@oss.qualcomm.com; a=ed25519; pk=C39f+LOIGhh/02LQpT46TsUSXRvBn9qXC8Xb26KJ44Y= X-Proofpoint-Spam-Info: AW1haW4tMjYwODIwMDEwOSBTYWx0ZWRfX6LNIRuJIbeWr KiulnC0qvR19jgv6qGpEiCaXhxXHnHtSGRt8F0LD9+Ofjwj95lH3+pF0zihSQuPogrKOYQRC6BU tM+OrioofTGg9l1UQirxWdPoDiVFd8o= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIwMDEwOSBTYWx0ZWRfXyMaDZbUEB9fj uV33VdaBfV7os3KBuFB2zaWTlKz+wHjkFIU3Rpf6Ghm/Wb8pzCHZ3m91Lnoaj68zZJAaKYzNcOx VpHzKhuMn08T3ZKHs3ycvCg1Otg7eRG4TPkQt7XsZBjk5mIXUbNLWgpuk8EywoTVqxFSPg9K8G3 jLHj2CnOlVDZ5LAjUAYkhyQcDDsSbRr9BO9k3EFD55KLCXvw7Hn6oaUI6HZNalAV/Bk0ACA8kBj uMHuetJBkZrFddxHkz69791uwyhDAGvdbIMInY755Xyjr/pvu2abOgjYpR3zc9qkloTeRw2aX8P NSPJLT2fXNH4kweWxx14WVM11vPgXKioAd4JCbfsI8kyc8QrBDGrGBIWMgzmOLjrlSuIdRorY11 6H3guenGRRFscvS2/yjWyGgU8Dv6rmUEdcvSoMokUH+TZPvhmHqeXXzz9iBFc6O1dCZC1nMs7aC AULwxV51i9CC310R5iQ== X-Authority-Analysis: v=2.4 cv=Y7/IdBeN c=1 sm=1 tr=0 ts=6a870fc9 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=jfHSOdyuYKquJek64F8A:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: X1JVFyc2rg3CElz42rEIcXcDAiAmkwUY X-Proofpoint-ORIG-GUID: X1JVFyc2rg3CElz42rEIcXcDAiAmkwUY X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-19_06,2026-08-20_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 adultscore=0 clxscore=1015 phishscore=0 impostorscore=0 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608200109 geni_find_protocol_fw() casts fw->data to a non-const struct se_fw_hdr pointer and writes back the rounded-up fw_size value: sefw->fw_size_in_items =3D cpu_to_le16(fw_size); The firmware subsystem maps the firmware blob read-only. Writing through the cast pointer causes a level-3 permission fault on AArch64 and crashes the kernel during driver probe. The write-back is no longer necessary: the previous commit propagates the rounded size to the caller via fw_size_out. Remove the write-back and make sefw (and the hdr pointer in the caller) const-correct. Fixes: d4bf06592ad6 ("soc: qcom: geni-se: Add support to load QUP SE Firmwa= re via Linux subsystem") Cc: stable@vger.kernel.org Signed-off-by: Viken Dadhaniya Reviewed-by: Konrad Dybcio --- drivers/soc/qcom/qcom-geni-se.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/drivers/soc/qcom/qcom-geni-se.c b/drivers/soc/qcom/qcom-geni-s= e.c index 11ca8223fbcd..6ac2bdc16984 100644 --- a/drivers/soc/qcom/qcom-geni-se.c +++ b/drivers/soc/qcom/qcom-geni-se.c @@ -1238,17 +1238,17 @@ EXPORT_SYMBOL_GPL(geni_se_resources_init); * controller. Validates the firmware size against the hardware PROG_RAM_D= EPTH * read from SE_HW_PARAM_2. * - * Return: pointer to a valid 'struct se_fw_hdr' if found, or NULL otherwi= se. + * Return: pointer to a valid 'const struct se_fw_hdr' if found, or NULL o= therwise. */ -static struct se_fw_hdr *geni_find_protocol_fw(struct geni_se *se, const s= truct firmware *fw, - enum geni_se_protocol_type protocol, - u32 *fw_size_out) +static const struct se_fw_hdr *geni_find_protocol_fw(struct geni_se *se, c= onst struct firmware *fw, + enum geni_se_protocol_type protocol, + u32 *fw_size_out) { struct device *dev =3D se->dev; const struct elf32_hdr *ehdr; const struct elf32_phdr *phdrs; const struct elf32_phdr *phdr; - struct se_fw_hdr *sefw; + const struct se_fw_hdr *sefw; u32 fw_end, cfg_idx_end, cfg_val_end; u32 prog_ram_depth; u32 fw_size; @@ -1290,7 +1290,7 @@ static struct se_fw_hdr *geni_find_protocol_fw(struct= geni_se *se, const struct if (phdr->p_filesz < sizeof(struct se_fw_hdr)) continue; =20 - sefw =3D (struct se_fw_hdr *)(fw->data + phdr->p_offset); + sefw =3D (const struct se_fw_hdr *)(fw->data + phdr->p_offset); fw_size =3D le16_to_cpu(sefw->fw_size_in_items); =20 if (le32_to_cpu(sefw->magic) !=3D SE_MAGIC_NUM || le32_to_cpu(sefw->vers= ion) !=3D 1) @@ -1299,10 +1299,8 @@ static struct se_fw_hdr *geni_find_protocol_fw(struc= t geni_se *se, const struct if (le16_to_cpu(sefw->serial_protocol) !=3D protocol) continue; =20 - if (fw_size % 2 !=3D 0) { + if (fw_size % 2 !=3D 0) fw_size++; - sefw->fw_size_in_items =3D cpu_to_le16(fw_size); - } =20 fw_end =3D le16_to_cpu(sefw->fw_offset) + fw_size * sizeof(u32); cfg_idx_end =3D le16_to_cpu(sefw->cfg_idx_offset) + @@ -1437,15 +1435,15 @@ static int geni_load_se_fw(struct geni_se *se, cons= t struct firmware *fw, const u8 *cfg_idx_arr; u32 i, reg_value, fw_size_in_items; int ret; - struct se_fw_hdr *hdr; + const struct se_fw_hdr *hdr; =20 hdr =3D geni_find_protocol_fw(se, fw, protocol, &fw_size_in_items); if (!hdr) return -EINVAL; =20 - fw_data =3D (const u32 *)((u8 *)hdr + le16_to_cpu(hdr->fw_offset)); + fw_data =3D (const u32 *)((const u8 *)hdr + le16_to_cpu(hdr->fw_offset)); cfg_idx_arr =3D (const u8 *)hdr + le16_to_cpu(hdr->cfg_idx_offset); - cfg_val_arr =3D (const u32 *)((u8 *)hdr + le16_to_cpu(hdr->cfg_val_offset= )); + cfg_val_arr =3D (const u32 *)((const u8 *)hdr + le16_to_cpu(hdr->cfg_val_= offset)); =20 ret =3D geni_icc_set_bw(se); if (ret) --=20 2.34.1