All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
To: lgirdwood@gmail.com, broonie@kernel.org,
	pierre-louis.bossart@linux.intel.com
Cc: guennadi.liakhovetski@linux.intel.com,
	alsa-devel@alsa-project.org, daniel.baluta@gmail.com,
	ranjani.sridharan@linux.intel.com, kai.vehmanen@linux.intel.com
Subject: [PATCH 04/12] ASoC: SOF: imx: imx8: Bar index is only valid for IRAM and SRAM types
Date: Wed, 15 Sep 2021 15:21:08 +0300	[thread overview]
Message-ID: <20210915122116.18317-5-peter.ujfalusi@linux.intel.com> (raw)
In-Reply-To: <20210915122116.18317-1-peter.ujfalusi@linux.intel.com>

i.MX8 only uses SOF_FW_BLK_TYPE_IRAM (1) and SOF_FW_BLK_TYPE_SRAM (3)
bars, everything else is left as 0 in sdev->bar[] array.

If a broken or purposefully crafted firmware image is loaded with other
types of FW_BLK_TYPE then a kernel crash can be triggered.

Make sure that only IRAM/SRAM type is converted to bar index.
Fixes: 202acc565a1f0 ("ASoC: SOF: imx: Add i.MX8 HW support")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
---
 sound/soc/sof/imx/imx8.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/sound/soc/sof/imx/imx8.c b/sound/soc/sof/imx/imx8.c
index 326aa65166c2..150f1bc3fb95 100644
--- a/sound/soc/sof/imx/imx8.c
+++ b/sound/soc/sof/imx/imx8.c
@@ -365,7 +365,14 @@ static int imx8_remove(struct snd_sof_dev *sdev)
 /* on i.MX8 there is 1 to 1 match between type and BAR idx */
 static int imx8_get_bar_index(struct snd_sof_dev *sdev, u32 type)
 {
-	return type;
+	/* Only IRAM and SRAM bars are valid */
+	switch (type) {
+	case SOF_FW_BLK_TYPE_IRAM:
+	case SOF_FW_BLK_TYPE_SRAM:
+		return type;
+	default:
+		return -EINVAL;
+	}
 }
 
 static void imx8_ipc_msg_data(struct snd_sof_dev *sdev,
-- 
2.33.0


  parent reply	other threads:[~2021-09-15 12:24 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-15 12:21 [PATCH 00/12] ASoC: SOF: Abstract away the 'bar' usage (mostly) Peter Ujfalusi
2021-09-15 12:21 ` [PATCH 01/12] ASoC: SOF: Intel: bdw: Set the mailbox offset directly in bdw_probe Peter Ujfalusi
2021-09-15 12:21 ` [PATCH 02/12] ASoC: SOF: ipc: Remove snd_sof_dsp_mailbox_init() Peter Ujfalusi
2021-09-15 12:21 ` [PATCH 03/12] ASoC: SOF: imx: Do not initialize the snd_sof_dsp_ops.read64 Peter Ujfalusi
2021-09-15 12:21 ` Peter Ujfalusi [this message]
2021-09-15 13:00   ` [PATCH 04/12] ASoC: SOF: imx: imx8: Bar index is only valid for IRAM and SRAM types Mark Brown
2021-09-15 13:10     ` Péter Ujfalusi
2021-09-15 12:21 ` [PATCH 05/12] ASoC: SOF: imx: imx8m: " Peter Ujfalusi
2021-09-15 12:21 ` [PATCH 06/12] ASoC: SOF: loader: No need to export snd_sof_fw_parse_ext_data() Peter Ujfalusi
2021-09-15 12:21 ` [PATCH 07/12] ASoC: SOF: core: Do not use 'bar' as parameter for block_read/write Peter Ujfalusi
2021-09-15 12:21 ` [PATCH 08/12] ASoC: SOF: debug: Add generic API and ops for DSP regions Peter Ujfalusi
2021-09-15 12:21 ` [PATCH 09/12] ASoC: SOF: imx: Provide debugfs_add_region_item ops for core Peter Ujfalusi
2021-09-15 12:21 ` [PATCH 10/12] ASoC: SOF: Intel: " Peter Ujfalusi
2021-09-15 12:21 ` [PATCH 11/12] ASoC: SOF: loader: Use the generic ops for region debugfs handling Peter Ujfalusi
2021-09-15 12:21 ` [PATCH 12/12] ASoC: SOF: debug: No need to export the snd_sof_debugfs_io_item() Peter Ujfalusi
2021-09-15 16:37 ` [PATCH 00/12] ASoC: SOF: Abstract away the 'bar' usage (mostly) Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210915122116.18317-5-peter.ujfalusi@linux.intel.com \
    --to=peter.ujfalusi@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=daniel.baluta@gmail.com \
    --cc=guennadi.liakhovetski@linux.intel.com \
    --cc=kai.vehmanen@linux.intel.com \
    --cc=lgirdwood@gmail.com \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=ranjani.sridharan@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.