|
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 |
|