Jiri Slaby ef7db2
From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?=
Jiri Slaby ef7db2
 <amadeuszx.slawinski@linux.intel.com>
Jiri Slaby ef7db2
Date: Sat, 28 Jan 2023 00:11:01 +0100
Jiri Slaby ef7db2
Subject: [PATCH] ASoC: topology: Properly access value coming from topology
Jiri Slaby ef7db2
 file
Jiri Slaby ef7db2
MIME-Version: 1.0
Jiri Slaby ef7db2
Content-Type: text/plain; charset=UTF-8
Jiri Slaby ef7db2
Content-Transfer-Encoding: 8bit
Jiri Slaby ef7db2
References: bsc#1012628
Jiri Slaby ef7db2
Patch-mainline: 6.2.3
Jiri Slaby ef7db2
Git-commit: c5d184c92df2b631fb81fe2ce6e96bfc5ba720e5
Jiri Slaby ef7db2
Jiri Slaby ef7db2
[ Upstream commit c5d184c92df2b631fb81fe2ce6e96bfc5ba720e5 ]
Jiri Slaby ef7db2
Jiri Slaby ef7db2
When accessing values coming from topology, le32_to_cpu should be used.
Jiri Slaby ef7db2
One of recent commits missed that.
Jiri Slaby ef7db2
Jiri Slaby ef7db2
Fixes: 86e2d14b6d1a ("ASoC: topology: Add header payload_size verification")
Jiri Slaby ef7db2
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Jiri Slaby ef7db2
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Jiri Slaby ef7db2
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Jiri Slaby ef7db2
Link: https://lore.kernel.org/r/20230127231111.937721-2-amadeuszx.slawinski@linux.intel.com
Jiri Slaby ef7db2
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiri Slaby ef7db2
Signed-off-by: Sasha Levin <sashal@kernel.org>
Jiri Slaby ef7db2
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby ef7db2
---
Jiri Slaby ef7db2
 sound/soc/soc-topology.c | 2 +-
Jiri Slaby ef7db2
 1 file changed, 1 insertion(+), 1 deletion(-)
Jiri Slaby ef7db2
Jiri Slaby ef7db2
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c
Jiri Slaby ef7db2
index a79a2fb2..d68c4855 100644
Jiri Slaby ef7db2
--- a/sound/soc/soc-topology.c
Jiri Slaby ef7db2
+++ b/sound/soc/soc-topology.c
Jiri Slaby ef7db2
@@ -2408,7 +2408,7 @@ static int soc_valid_header(struct soc_tplg *tplg,
Jiri Slaby ef7db2
 		return -EINVAL;
Jiri Slaby ef7db2
 	}
Jiri Slaby ef7db2
 
Jiri Slaby ef7db2
-	if (soc_tplg_get_hdr_offset(tplg) + hdr->payload_size >= tplg->fw->size) {
Jiri Slaby ef7db2
+	if (soc_tplg_get_hdr_offset(tplg) + le32_to_cpu(hdr->payload_size) >= tplg->fw->size) {
Jiri Slaby ef7db2
 		dev_err(tplg->dev,
Jiri Slaby ef7db2
 			"ASoC: invalid header of type %d at offset %ld payload_size %d\n",
Jiri Slaby ef7db2
 			le32_to_cpu(hdr->type), soc_tplg_get_hdr_offset(tplg),
Jiri Slaby ef7db2
-- 
Jiri Slaby ef7db2
2.35.3
Jiri Slaby ef7db2