]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
soc: qcom: smem: Fix endian-unaware access of num_entries
authorJens Reidel <adrian@mainlining.org>
Sat, 26 Jul 2025 23:56:46 +0000 (01:56 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:34:02 +0000 (15:34 -0500)
[ Upstream commit 19e7aa0e9e46d0ad111a4af55b3d681b6ad945e0 ]

Add a missing le32_to_cpu when accessing num_entries, which is always a
little endian integer.

Fixes booting on Xiaomi Mi 9T (xiaomi-davinci) in big endian.

Signed-off-by: Jens Reidel <adrian@mainlining.org>
Link: https://lore.kernel.org/r/20250726235646.254730-1-adrian@mainlining.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/soc/qcom/smem.c

index e4411771f482f8126a24a8775ccd34b4d8f92d32..db77642776f930c89c0dda5e0830b2432ca8b93f 100644 (file)
@@ -892,7 +892,7 @@ static u32 qcom_smem_get_item_count(struct qcom_smem *smem)
        if (IS_ERR_OR_NULL(ptable))
                return SMEM_ITEM_COUNT;
 
-       info = (struct smem_info *)&ptable->entry[ptable->num_entries];
+       info = (struct smem_info *)&ptable->entry[le32_to_cpu(ptable->num_entries)];
        if (memcmp(info->magic, SMEM_INFO_MAGIC, sizeof(info->magic)))
                return SMEM_ITEM_COUNT;