]> git.ipfire.org Git - thirdparty/kernel/linux.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)
committerBjorn Andersson <andersson@kernel.org>
Tue, 12 Aug 2025 02:34:48 +0000 (21:34 -0500)
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>
drivers/soc/qcom/smem.c

index cf425930539e406fb81307a17803955371545f32..c4c45f15dca4fb14f97df4ad494c1189e4f098bd 100644 (file)
@@ -898,7 +898,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;