From nobody Sun Feb 8 23:13:19 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 5965D345CD1 for ; Thu, 30 Oct 2025 09:37:57 +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=1761817078; cv=none; b=jkT5Y3/qk+xkbo2vsAs245PK6ZpFYEjfIyqj8Qr5oLb1Sa9KKSJ5vvL3WelpA0L4pKVi//eX0KOzw6HFVvv166GaLssvOVFdvvFIe5ljlG8z2pMoJkVkmK4Fy7DCRMZnwiN7rXXjyPeYdU/rDmjL/2CAF+a04yWmu57RSmzhywI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761817078; c=relaxed/simple; bh=BQ2WhXe+j6teCDP3HhSv+L5nC0F5n6ZZa8MJy8deAeE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LsLuEIdEQiNdbbPiIP1f/MBtoqQdPSaTWOq0FRAm2R98FXE3Yl15FzLBp0RuSu7+NNgQXU5rF5bj8IpaAjZx4HPR5f2irlTS9ZmdhDKTP/9Fzym119XYbgfz6bUyo+k0dNxqJ5J8BDia7ZgnJ4ZYeuduRBdh+v4enu8JroxmpiU= 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=HfwAUlk2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YeE5J0xn; 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="HfwAUlk2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YeE5J0xn" 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 59U72jb41501797 for ; Thu, 30 Oct 2025 09:37:56 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= 6TnRVims1/vAmiGRL6+V59BfdhehRAw+GW9WJZPj4jY=; b=HfwAUlk2peoLugmB Y85pqTqr8o05S10jlOgFtOxONPQvfJKA9rfR4pfr60zEAKTYCbAno+Kg+UN+BFi0 n8LhLX82RsD7wCrFs4CZx/P3F/d7QGGrFii1EcbbYjPA4eOZOD6SVhjSSZOPYJBh +rJ426jNv4wUQ7rEbMgefKAhxnPZOotsfTZnhQoFevQbc3M32bpA/s1bJhsiaIVK 12Bay5UZVhmJmpiIT5CGxHPuapuZOdq2HYzWdevtmcCQ8tRP55Qmq6uaXySfK9Rk +fN3pt+ztQV10rWzD3ZjsMMa9nrCRj7Xao6XeojPQAQ08m8w+zy6Y2WA6rzjkAtz 5Bxp7A== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4a3t1jsyn7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 30 Oct 2025 09:37:56 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-332560b7171so1450991a91.0 for ; Thu, 30 Oct 2025 02:37:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1761817076; x=1762421876; 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=6TnRVims1/vAmiGRL6+V59BfdhehRAw+GW9WJZPj4jY=; b=YeE5J0xnh74Xb/cac/9tMI9ejla2Y6ufV0tr0xzq7fLnMuvp2yqLNE0OlUDJUsB3SO 7VdLHSttAUH8W3CA8QNPTSjcIp0w4tCY43V2jM1WPzLZxhVcVUgHE6ochERrCovsV8d0 /S/QNscdy+Uiie9g1L3VscoZNaxfu1ZWD393QIk1tORimcDH43+xGsdeK35Fan2ldXf7 eLFC2FXHgFQAWMlCi8bASkhKmjlOqtgorqIxx5+IGMpDrBUu4PYf63pg5Yn3i9aXUxwG 7TY8h9mFmkGKuJzgMV00ej5Gkh2oRtXoDSa5IZKWlH0XVvEXgjyBD6AzzCKmVYKFaHfG bIFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761817076; x=1762421876; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6TnRVims1/vAmiGRL6+V59BfdhehRAw+GW9WJZPj4jY=; b=KW7bfHQQgHskJ/kKQ8F1EyxVEenUE3YL4GZVv8Sb+udY88TRAGYY/oU9u6JrWSHlcS H5ycb6CVbPA4Yu+KK4DitWMFKrJhy34rNgaxQPJcur56h0LVDElwiYhcGj3C2J9cyj3c wr6aysZEfzstPylsrwZ7+mvuhNPs0cQOWMv3rPe6kMODJA9Y2VH6plxwklZa+gH4FhIB i8n3ZEEyhQkV1QPm2Plqwff3lCVJ3hnF1NxXcdELnapqFmqejIy8tEdBA+Kactow8clP 4V6I2UYHtMas70DsOKUaOc0bvZMPXrTll9XxYJ1lno2BaW29/XWAB1JkW1uGcP0xrL5u iqfQ== X-Forwarded-Encrypted: i=1; AJvYcCXZw1pCaCUR+dzcJJqSI0TTRi46mGYMwJNz3vGWUhpxvxoww2wSmHf7EhyRTwVpWbekQ5uFHScb8YCh2zk=@vger.kernel.org X-Gm-Message-State: AOJu0YyXk+es97kZYJHVcb7TGkmBBVqkZeJYslj/5BzPKS+kgO5hawax WuMy05SUWWI/0tNPrD9x8fA8WTDezKtf/ESZSKYgs13OAkIy4u51wM0iIiWmT21TmxIWnM0mC6B 4PHk2441NRJv+F8OZ2BW75r1IjzP9+EcwuYGgzB9I7buVcS7v4czpcr6I086pKkY+hSyjiMuzLp U= X-Gm-Gg: ASbGncuhAcuKWoRco8Z7ePSgQ4iL0+Gfem1MluWwe1kRVFEzsysEhRlnTZQo5SUUvPU jfsyeYDV2vHah9RbV/Rpxp1uSDFhgIRTDtep5KVOuy5RgB75O2BDlVaGmuTy9W+kmFvoVZSNesr a6oJWlBqufd7WaXtInfOwxTwTwuAq6knFCUwf/odZbfI5na7E0Rg+ZvPCy7zakOAo57PQr7+Czi rIOSW6razE9Sprjpm8ty5i2Y6CibuWySqixWbp+N8wS7WdDAqUWB3w+sPATUi9zuuJZ7Pv1jLty PwM6RuRjcRcPbpa6v18sDSqCPLpdeaoWT381P+yLsGCoUyXr0PZgphFPHJBL+0z6liPQYJODMGP 8/wYhCZXx7lE1Q1JEkeVRTBfD1prLMTimRTE7afYcWD2JvDwI0mMvbbRGfVYbuhL+4JC30x09Y0 addyBgYgdaryowN5UdcLkiQE4j7zo8iZvDyA== X-Received: by 2002:a17:902:c410:b0:269:8eba:e9b2 with SMTP id d9443c01a7336-294ed2278aemr32639185ad.29.1761817075421; Thu, 30 Oct 2025 02:37:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEI1gFEHNMVoUNvrBPPiHxU+pOMjI909UMlCs7Jjx/MCaedSt3XPMQ5zaaEHu6BzUEb+hYhVw== X-Received: by 2002:a17:902:c410:b0:269:8eba:e9b2 with SMTP id d9443c01a7336-294ed2278aemr32638865ad.29.1761817074875; Thu, 30 Oct 2025 02:37:54 -0700 (PDT) Received: from hu-kathirav-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-294e3ae4ba2sm49350335ad.40.2025.10.30.02.37.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Oct 2025 02:37:54 -0700 (PDT) From: Kathiravan Thirumoorthy Date: Thu, 30 Oct 2025 15:07:48 +0530 Subject: [PATCH 1/2] soc: qcom: smem: introduce qcom_smem_validate_item API 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: <20251030-image-crm-part2-v1-1-676305a652c6@oss.qualcomm.com> References: <20251030-image-crm-part2-v1-0-676305a652c6@oss.qualcomm.com> In-Reply-To: <20251030-image-crm-part2-v1-0-676305a652c6@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Kathiravan Thirumoorthy X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1761817070; l=2714; i=kathiravan.thirumoorthy@oss.qualcomm.com; s=20230906; h=from:subject:message-id; bh=BQ2WhXe+j6teCDP3HhSv+L5nC0F5n6ZZa8MJy8deAeE=; b=x1S/UFhqD6RU4L97NO2XaFBZeuyX1idIi0OfIBvSwQwsO1j4Dss3YINwdcz3QaiftuM0npAb6 IXUNnlgm/enCbvt7YyQx6SHgc2hy5etI5qr1E6U5imImLMi5wY5x9B9 X-Developer-Key: i=kathiravan.thirumoorthy@oss.qualcomm.com; a=ed25519; pk=xWsR7pL6ch+vdZ9MoFGEaP61JUaRf0XaZYWztbQsIiM= X-Proofpoint-GUID: l6dtCK3LH7vdunTmetjwrQ8y81pDpmxB X-Proofpoint-ORIG-GUID: l6dtCK3LH7vdunTmetjwrQ8y81pDpmxB X-Authority-Analysis: v=2.4 cv=M/lA6iws c=1 sm=1 tr=0 ts=690331f4 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=yjR5zAPs1mNjI6YpPD4A:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDMwMDA3OCBTYWx0ZWRfX2/OY8C2xLHWF p5B53AYgzf1TQvFRwZeYgDNt0R0dU0Q8/Qvsq7dzakIKMwXl6T51hjl/tU1PiYQD+YzRBDHONUq t5Vqy4y7T8N4OC6DJeXRnwe7JApa04Ur+sO6HpaL30FqGtxjQjOOfLK2RU+0vb8PEf9QtRHNKrJ FoUmWV4cVI0nkWaee05TintfCFTe7PZd5jNA1H5qiQttZIuVFC7VLJEdJ4gIlyBpk/jeWigZj2a B5rWYB+ACFSy/6IExKpjsP5mK3BgzKI39k3gzPFINnjHxLHoLG7zQsmgScSxz0s7gMaLaKU84Eg JRItZ0IK19ZnoKSRaZxdG5WhXrU9hF2pHsEyw7e/cqPgvVq7y6P03A3X2el7OGoygdt0kE6dLyd IJF1wK83iWe2LOjiOIthPnkbVT3X3Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-10-30_02,2025-10-29_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 spamscore=0 clxscore=1015 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2510300078 When a SMEM item is allocated or retrieved, sanity check on the SMEM item is performed and backtrace is printed if the SMEM item is invalid. Image version table in SMEM contains version details for the first 32 images. Beyond that, another SMEM item 667 is being used, which may not be defined in all the platforms. So directly retrieving the SMEM item 667, throws the warning as invalid item number. To handle such cases, introduce a new API to validate the SMEM item before processing it. While at it, make use of this API in the SMEM driver where possible. Signed-off-by: Kathiravan Thirumoorthy --- drivers/soc/qcom/smem.c | 16 ++++++++++++++-- include/linux/soc/qcom/smem.h | 1 + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c index c4c45f15dca4fb14f97df4ad494c1189e4f098bd..8a0a832f1e9915b2177a0fe0829= 8ffe8a779e516 100644 --- a/drivers/soc/qcom/smem.c +++ b/drivers/soc/qcom/smem.c @@ -396,6 +396,18 @@ bool qcom_smem_is_available(void) } EXPORT_SYMBOL_GPL(qcom_smem_is_available); =20 +/** + * qcom_smem_validate_item() - Check if SMEM item is within the limit + * @item: SMEM item to validate + * + * Return: true if SMEM item is valid, false otherwise. + */ +bool qcom_smem_validate_item(unsigned item) +{ + return item < __smem->item_count; +} +EXPORT_SYMBOL_GPL(qcom_smem_validate_item); + static int qcom_smem_alloc_private(struct qcom_smem *smem, struct smem_partition *part, unsigned item, @@ -517,7 +529,7 @@ int qcom_smem_alloc(unsigned host, unsigned item, size_= t size) return -EINVAL; } =20 - if (WARN_ON(item >=3D __smem->item_count)) + if (WARN_ON(!qcom_smem_validate_item(item))) return -EINVAL; =20 ret =3D hwspin_lock_timeout_irqsave(__smem->hwlock, @@ -690,7 +702,7 @@ void *qcom_smem_get(unsigned host, unsigned item, size_= t *size) if (!__smem) return ptr; =20 - if (WARN_ON(item >=3D __smem->item_count)) + if (WARN_ON(!qcom_smem_validate_item(item))) return ERR_PTR(-EINVAL); =20 if (host < SMEM_HOST_COUNT && __smem->partitions[host].virt_base) { diff --git a/include/linux/soc/qcom/smem.h b/include/linux/soc/qcom/smem.h index f946e3beca215548ac56dbf779138d05479712f5..05891532d530a25747afb8dc96a= d4ba668598197 100644 --- a/include/linux/soc/qcom/smem.h +++ b/include/linux/soc/qcom/smem.h @@ -5,6 +5,7 @@ #define QCOM_SMEM_HOST_ANY -1 =20 bool qcom_smem_is_available(void); +bool qcom_smem_validate_item(unsigned item); int qcom_smem_alloc(unsigned host, unsigned item, size_t size); void *qcom_smem_get(unsigned host, unsigned item, size_t *size); =20 --=20 2.34.1 From nobody Sun Feb 8 23:13:19 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 3E34F342CA1 for ; Thu, 30 Oct 2025 09:38:00 +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=1761817081; cv=none; b=JPZ6yeZA3plMSqy0q5X7dWu09qrhC9jmIW+/OSae2HODMdMH81efsCEnnpmhOT27l8vlusjDJRJVukQ+GnbDbPCcWMpDaS3NMfVBUg0FzE3DEwK+6VItSK14ir7oOd3ENa6OHXCkF+tHtSGDM1gqNCDdbKCqg4NGv7BH34WuIX8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761817081; c=relaxed/simple; bh=ZtETLkhF2W0kLCTmB3UKAwjQbraewB+Xn4eBG5R7W9s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LXbsFiO+08r3rzlkmknpSbWOhx654eWWI/paV/gVGaWgEb8x2z87FaYDq2ofI1jor5sFQPgnCOXFJxhNwyXQlVgwftLgnAUhNch5VBiyQctKSarFPYofI1K5hcYJV36IetEUEO/7AtBUV8IpkR88+EuZlBw9IByI3fv2s0ep1Tg= 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=KGhctNEc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bHlRe9Bo; 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="KGhctNEc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bHlRe9Bo" 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 59U9SQrd1994958 for ; Thu, 30 Oct 2025 09:37:59 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= gLsx4g5+L9XMMqHrNyhzAMuyIAr9cq3BTyp7uBdkvlE=; b=KGhctNEc/iiCVDT0 tZ163+LevTNVYTnZ/3iyH9zq67YwbY19RXjznLS5Ma368BSDQIVTnZrv3JgqWg0O Qfmn6LlpFKe9ltFuHI1v4xXBTPPRmO+Ste3BX6b6eMJG3ycX9z2pBXOz3ktRn3ha IrQy8oU6lUa+FGhs0sRw8qXqvZsHNVbk5unJ4mTK6z/o/aSVgYapczE/bOK/bmxn Q8GhDZsgufdOzmKqc2/nloW+Bm3GnPi3e0mxxT+mme6aj6ZaQCDT8jaU9/1RVwvf 9RYMAsxUo78m2uvopWGcDkv9jKKULTb1EeDh810LMs8R3HHPnEetzrVImllT+4sG j27rfQ== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4a3wr71bq9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 30 Oct 2025 09:37:59 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-29085106b99so8122505ad.1 for ; Thu, 30 Oct 2025 02:37:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1761817078; x=1762421878; 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=gLsx4g5+L9XMMqHrNyhzAMuyIAr9cq3BTyp7uBdkvlE=; b=bHlRe9BocMu6CkJCjwxD7H3BSEaTpQeLBDSlN5XuAWrVbYzZxZElS9NMNgtkOFGqmh Peidntsxn4TLmdso9mvab/2JFyTz0HH5k9zRGTanXWQLqcHXV0n4WgEiyWZ7XvFnhTnf QlOfcNyBPSwL8PG3THcF2zj64AUS2pIZ0v/ZHQwtMpio7Vzw1zETdIcQBWrNLkySEhCQ 0F0NtkQ6fxBLysqPxrU9uIYy+dhZXeu99jdN0SudxayUPv2wZC7qs4JtAM1XM5BcUT28 icGhQkp6s/7lxByVeRWOsu0TlUGqB2SZLb8B1YQ8eawTWJ9EktIT79VF7mIo3D0eR2bS LL0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761817078; x=1762421878; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gLsx4g5+L9XMMqHrNyhzAMuyIAr9cq3BTyp7uBdkvlE=; b=f6QZKvKuGBXBnN0D1crisl/TSUBVlEeAEAqn0j5EudEWJGtXa5I0xJfxAPIA4veUFU /Mw85tWXF4yNh3589vEjNsHTlbkYopBoMm4hmxeudjxhlC+hdKicm4+AT2hm2RKUFO8J XfwAsTEaX09sZKyYuC8JKXcQ4CF7eiPw9b5y3MPdwGv6lZ0gzG3UtrlJ5w2qoXkaNySC Nyw9uEBzKnMqLcGcrFkFB09eGF0HZjEkkElQICst6Q+W4tMH6Gpi3qe/pehl3RJydMkj Mucv2ccZC6YyO4ONLfd9o+0JZRqIvYQdyv2t4bmOx/gQMrlItkP8xSKbLlGjue6rAoeI kbwQ== X-Forwarded-Encrypted: i=1; AJvYcCXe6uS4wUALzko6ZIAOlik5Nug2OTsFGSYC+u6tyJWw6Dc+h4lrAkZKbFgdcQ6DMKtwabF4XReX4ZHVaQU=@vger.kernel.org X-Gm-Message-State: AOJu0YyVOjcbRoTjfmb8+qybXXgGOF4zISkbq/+NDKUH2dR9dKnu6qtE WRoDY27fysp0S/An+ZsddK82KKw3AjsQ9eDHMtmF4ljQ+tiYZbDGYRR+x5PSVF0l7YRgpBXbIda 2bieBrUEDLhA6i7tDNS18JBrH2a+kI3kH/IiP9iPTBGlG+sb08IO/iUFdc//h56I3RKFaQYYgFl I= X-Gm-Gg: ASbGnctBYmvsGvAopAl9aoWNqW6jbmewEicY+G6SyH6I+m2Hkxv9RxVx7d/gr3qpeFq 6ZV6bZxBGxJ6XJj/SkD78RtF974ViDBsvY4TwNvWNpc77mP0RJ5MmsZh4wrSQ8klVhFN8oFhQGp LxoXt3Xt8nPQT04h2GdbV5KQ2GRdLLHFhki4mJiiQvMVf8ueVZb8Xbchm9JsRDuEWCHDNYcjMOI 5KEuRbZ/SWJVhAdCP/U2V7S012Ylg8LxhFYVkgLzk9jIdx4gFhSuazitQ8vQplHmlCE31pDrJew PzGbsGXc2zflKiLYv4M5jX8ck/jxoOh7ysM7chPWxl3sxFYX69qPK3Dr+gDjkxMX7C6cZBpN3MS Lmo9D3FLM6ulrSyWeh/MAzgMpSvz+Ap6VvGnwNQZodzbO7AeN4DBiUjb6a9MS8lKFGq6qeJ6xAW 9J+V3f3/zuw0iCyGazJDe0T7aL22m6GyhnoQ== X-Received: by 2002:a17:902:dac1:b0:294:fd79:41cd with SMTP id d9443c01a7336-294fd7944c9mr14647295ad.47.1761817077725; Thu, 30 Oct 2025 02:37:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFIajuAw2WZ9gRsHWUS3kPt2qU6xqoyVKZrtQhy/9wTM8cMh0vEuWk7kQPYj0keKk3KAl0MpQ== X-Received: by 2002:a17:902:dac1:b0:294:fd79:41cd with SMTP id d9443c01a7336-294fd7944c9mr14646915ad.47.1761817077156; Thu, 30 Oct 2025 02:37:57 -0700 (PDT) Received: from hu-kathirav-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-294e3ae4ba2sm49350335ad.40.2025.10.30.02.37.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Oct 2025 02:37:56 -0700 (PDT) From: Kathiravan Thirumoorthy Date: Thu, 30 Oct 2025 15:07:49 +0530 Subject: [PATCH 2/2] soc: qcom: socinfo: add support to extract more than 32 image versions 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: <20251030-image-crm-part2-v1-2-676305a652c6@oss.qualcomm.com> References: <20251030-image-crm-part2-v1-0-676305a652c6@oss.qualcomm.com> In-Reply-To: <20251030-image-crm-part2-v1-0-676305a652c6@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Kathiravan Thirumoorthy X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1761817070; l=4374; i=kathiravan.thirumoorthy@oss.qualcomm.com; s=20230906; h=from:subject:message-id; bh=ZtETLkhF2W0kLCTmB3UKAwjQbraewB+Xn4eBG5R7W9s=; b=IPFK4HolnZejQwRQmrtCJxbGzqnocQUpEmECpwo9TTVnm120MdGaOZVgK6TsftJGZ5btQM5O9 0ZFIO1GP8onAIgsvXsLOjXu0rD89fUdBoPIvjcplx/NoOlCRTFpOECS X-Developer-Key: i=kathiravan.thirumoorthy@oss.qualcomm.com; a=ed25519; pk=xWsR7pL6ch+vdZ9MoFGEaP61JUaRf0XaZYWztbQsIiM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDMwMDA3OCBTYWx0ZWRfX8h00e7yRdU4E HQ09L3BHWhCZqK0xr95LBzbRE3hjr7i5/He3qm3R+kqOCu4FXOx0dC4xKb3uljVdx5Zz/yojS18 dMhFUwarsMDnC38dwPGaQJ8y0eKiTft/tJkRvmvUjIbXseJTgDVqQJ1R8LrQDwSisjxtaHNY6M7 O+iokGofhhnwzLjRYgg0CuhQ12z190fh1ul0Bn8FYF1hgQgcY9ejiHVXXhM8lyJGYxjI2Nt7S+e zn9eFUN5flhKSTnVNaEIGrhCzHdYGbg9pjcVIIlhsQU+4O0qyJX3U0OiYva4VYV97rQd3xHYpv7 FTYoV+MZDi4gYKjb1twyoWiMlREdUlRHbd7p0IMK5EUAjDV2P0cJ0FDUanA2p4XRN2rWGwa9Upa Nz54UMA6xP2g4OOvkS2TXCPL7Yal4g== X-Authority-Analysis: v=2.4 cv=P+Y3RyAu c=1 sm=1 tr=0 ts=690331f7 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=ZFAbIWG072RaKbRf4xEA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-ORIG-GUID: pCAi9xsxw_SepBqd6FnkzNEkd2l2qa3d X-Proofpoint-GUID: pCAi9xsxw_SepBqd6FnkzNEkd2l2qa3d X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-10-30_02,2025-10-29_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 spamscore=0 lowpriorityscore=0 priorityscore=1501 phishscore=0 malwarescore=0 adultscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2510300078 SMEM_IMAGE_VERSION_TABLE contains the version of the first 32 images. Add images beyond that and read these from SMEM_IMAGE_VERSION_TABLE_2. Not all platforms define the SMEM item number 667, in that case qcom_smem_get() will throw the invalid item warning. To avoid that, validate the SMEM item before fetching the version details. Signed-off-by: Kathiravan Thirumoorthy --- drivers/soc/qcom/socinfo.c | 46 ++++++++++++++++++++++++++++++++++++++----= ---- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c index 4fd09e2bfd021424b9489cd29eec29dc7c7a16d3..f832ae36942b10f68f0c3304f98= d946796e8d1bd 100644 --- a/drivers/soc/qcom/socinfo.c +++ b/drivers/soc/qcom/socinfo.c @@ -67,7 +67,17 @@ #define SMEM_IMAGE_TABLE_GEARVM_INDEX 29 #define SMEM_IMAGE_TABLE_UEFI_INDEX 30 #define SMEM_IMAGE_TABLE_CDSP3_INDEX 31 +#define SMEM_IMAGE_TABLE_AUDIOPD_ADSP1_INDEX 32 +#define SMEM_IMAGE_TABLE_AUDIOPD_ADSP2_INDEX 33 +#define SMEM_IMAGE_TABLE_DCP_INDEX 34 +#define SMEM_IMAGE_TABLE_OOBS_INDEX 35 +#define SMEM_IMAGE_TABLE_OOBNS_INDEX 36 +#define SMEM_IMAGE_TABLE_DEVCFG_INDEX 37 +#define SMEM_IMAGE_TABLE_BTPD_INDEX 38 +#define SMEM_IMAGE_TABLE_QECP_INDEX 39 + #define SMEM_IMAGE_VERSION_TABLE 469 +#define SMEM_IMAGE_VERSION_TABLE_2 667 =20 /* * SMEM Image table names @@ -79,13 +89,18 @@ static const char *const socinfo_image_names[] =3D { [SMEM_IMAGE_TABLE_APPSBL_INDEX] =3D "appsbl", [SMEM_IMAGE_TABLE_APPS_INDEX] =3D "apps", [SMEM_IMAGE_TABLE_AUDIOPD_INDEX] =3D "audiopd", + [SMEM_IMAGE_TABLE_AUDIOPD_ADSP1_INDEX] =3D "audiopd_adsp1", + [SMEM_IMAGE_TABLE_AUDIOPD_ADSP2_INDEX] =3D "audiopd_adsp2", [SMEM_IMAGE_TABLE_BOOT_INDEX] =3D "boot", + [SMEM_IMAGE_TABLE_BTPD_INDEX] =3D "btpd", [SMEM_IMAGE_TABLE_CDSP1_INDEX] =3D "cdsp1", [SMEM_IMAGE_TABLE_CDSP2_INDEX] =3D "cdsp2", [SMEM_IMAGE_TABLE_CDSP3_INDEX] =3D "cdsp3", [SMEM_IMAGE_TABLE_CDSP_INDEX] =3D "cdsp", [SMEM_IMAGE_TABLE_CHARGERPD_INDEX] =3D "chargerpd", [SMEM_IMAGE_TABLE_CNSS_INDEX] =3D "cnss", + [SMEM_IMAGE_TABLE_DCP_INDEX] =3D "dcp", + [SMEM_IMAGE_TABLE_DEVCFG_INDEX] =3D "devcfg", [SMEM_IMAGE_TABLE_DSPS_INDEX] =3D "dsps", [SMEM_IMAGE_TABLE_GEARVM_INDEX] =3D "gearvm", [SMEM_IMAGE_TABLE_GPDSP1_INDEX] =3D "gpdsp1", @@ -95,6 +110,9 @@ static const char *const socinfo_image_names[] =3D { [SMEM_IMAGE_TABLE_NPU_INDEX] =3D "npu", [SMEM_IMAGE_TABLE_OEMPD_INDEX] =3D "oempd", [SMEM_IMAGE_TABLE_OISPD_INDEX] =3D "oispd", + [SMEM_IMAGE_TABLE_OOBNS_INDEX] =3D "oobns", + [SMEM_IMAGE_TABLE_OOBS_INDEX] =3D "oobs", + [SMEM_IMAGE_TABLE_QECP_INDEX] =3D "qecp", [SMEM_IMAGE_TABLE_RPM_INDEX] =3D "rpm", [SMEM_IMAGE_TABLE_SDI_INDEX] =3D "sdi", [SMEM_IMAGE_TABLE_SENSORPD_INDEX] =3D "sensorpd", @@ -644,7 +662,7 @@ static void socinfo_debugfs_init(struct qcom_socinfo *q= com_socinfo, struct smem_image_version *versions; struct dentry *dentry; size_t size; - int i; + int i, j; unsigned int num_pmics; unsigned int pmic_array_offset; =20 @@ -788,20 +806,32 @@ static void socinfo_debugfs_init(struct qcom_socinfo = *qcom_socinfo, break; } =20 - versions =3D qcom_smem_get(QCOM_SMEM_HOST_ANY, SMEM_IMAGE_VERSION_TABLE, - &size); - - for (i =3D 0; i < ARRAY_SIZE(socinfo_image_names); i++) { + for (i =3D 0, j =3D 0; i < ARRAY_SIZE(socinfo_image_names); i++, j++) { if (!socinfo_image_names[i]) continue; =20 + if (i =3D=3D 0) { + versions =3D qcom_smem_get(QCOM_SMEM_HOST_ANY, + SMEM_IMAGE_VERSION_TABLE, + &size); + } + if (i =3D=3D 32) { + if (!qcom_smem_validate_item(SMEM_IMAGE_VERSION_TABLE_2)) + break; + + j =3D 0; + versions =3D qcom_smem_get(QCOM_SMEM_HOST_ANY, + SMEM_IMAGE_VERSION_TABLE_2, + &size); + } + dentry =3D debugfs_create_dir(socinfo_image_names[i], qcom_socinfo->dbg_root); - debugfs_create_file("name", 0444, dentry, &versions[i], + debugfs_create_file("name", 0444, dentry, &versions[j], &qcom_image_name_ops); - debugfs_create_file("variant", 0444, dentry, &versions[i], + debugfs_create_file("variant", 0444, dentry, &versions[j], &qcom_image_variant_ops); - debugfs_create_file("oem", 0444, dentry, &versions[i], + debugfs_create_file("oem", 0444, dentry, &versions[j], &qcom_image_oem_ops); } } --=20 2.34.1