linux-stable/drivers/remoteproc
AngeloGioacchino Del Regno 838b49e211 remoteproc: mediatek: Make sure IPI buffer fits in L2TCM
commit 331f91d86f upstream.

The IPI buffer location is read from the firmware that we load to the
System Companion Processor, and it's not granted that both the SRAM
(L2TCM) size that is defined in the devicetree node is large enough
for that, and while this is especially true for multi-core SCP, it's
still useful to check on single-core variants as well.

Failing to perform this check may make this driver perform R/W
operations out of the L2TCM boundary, resulting (at best) in a
kernel panic.

To fix that, check that the IPI buffer fits, otherwise return a
failure and refuse to boot the relevant SCP core (or the SCP at
all, if this is single core).

Fixes: 3efa0ea743 ("remoteproc/mediatek: read IPI buffer offset from FW")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240321084614.45253-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-25 16:28:40 +02:00
..
Kconfig remoteproc: stm32: use correct format strings on 64-bit 2023-06-22 09:54:44 +02:00
Makefile drivers: remoteproc: Add Xilinx r5 remoteproc driver 2022-11-25 09:12:05 -07:00
da8xx_remoteproc.c remoteproc: da8xx: Convert to platform remove callback returning void 2023-05-09 11:45:22 -06:00
imx_dsp_rproc.c remoteproc: imx_dsp_rproc: Add mandatory find_loaded_rsc_table op 2023-11-20 13:58:49 -07:00
imx_rproc.c remoteproc: imx_rproc: Switch iMX8MN/MP from SMCCC to MMIO 2023-07-27 10:44:17 -06:00
imx_rproc.h remoteproc: imx_rproc: Switch iMX8MN/MP from SMCCC to MMIO 2023-07-27 10:44:17 -06:00
ingenic_rproc.c
keystone_remoteproc.c remoteproc: keystone: Convert to platform remove callback returning void 2023-05-09 11:48:38 -06:00
meson_mx_ao_arc.c remoteproc: meson_mx_ao_arc: Convert to platform remove callback returning void 2023-05-09 13:17:22 -06:00
mtk_common.h remoteproc: mediatek: Handle MT8195 SCP core 1 watchdog timeout 2023-09-13 11:46:16 -06:00
mtk_scp.c remoteproc: mediatek: Make sure IPI buffer fits in L2TCM 2024-05-25 16:28:40 +02:00
mtk_scp_ipi.c remoteproc: mediatek: Extract SCP common registers 2023-09-13 11:44:17 -06:00
omap_remoteproc.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
omap_remoteproc.h
pru_rproc.c remoteproc: pru: add support for configuring GPMUX based on client setup 2023-08-21 15:19:28 -06:00
pru_rproc.h
qcom_common.c remoteproc: qcom: Expand MD_* as MINIDUMP_* 2023-07-15 13:26:52 -07:00
qcom_common.h remoteproc updates for v6.3 2023-02-26 12:18:36 -08:00
qcom_pil_info.c
qcom_pil_info.h
qcom_q6v5.c soc: qcom: aoss: Tidy up qmp_send() callers 2023-08-13 19:27:32 -07:00
qcom_q6v5.h
qcom_q6v5_adsp.c remoteproc: qcom: Use of_reserved_mem_lookup() 2023-07-15 12:39:48 -07:00
qcom_q6v5_mss.c remoteproc: qcom: q6v5-mss: Remove PNoC clock from 8996 MSS 2023-09-20 11:25:14 -07:00
qcom_q6v5_pas.c remoteproc: qcom_q6v5_pas: Add SC7280 ADSP, CDSP & WPSS 2023-12-17 10:06:32 -08:00
qcom_q6v5_wcss.c remoteproc: qcom: q6v5: use devm_platform_ioremap_resource_byname() 2023-07-15 13:09:35 -07:00
qcom_sysmon.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
qcom_wcnss.c remoteproc: qcom: wcnss: use devm_platform_ioremap_resource_byname() 2023-07-15 13:10:34 -07:00
qcom_wcnss.h remoteproc: qcom: wcnss: remove unused qcom_iris_driver declaration 2022-12-28 09:50:07 -06:00
qcom_wcnss_iris.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
rcar_rproc.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
remoteproc_cdev.c
remoteproc_core.c remoteproc: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:53 -07:00
remoteproc_coredump.c remoteproc: core: Export the rproc coredump APIs 2023-07-15 12:56:48 -07:00
remoteproc_debugfs.c
remoteproc_elf_helpers.h
remoteproc_elf_loader.c ELF: fix all "Elf" typos 2023-04-08 13:45:37 -07:00
remoteproc_internal.h remoteproc: core: Export the rproc coredump APIs 2023-07-15 12:56:48 -07:00
remoteproc_sysfs.c
remoteproc_virtio.c remoteproc: virtio: Fix wdg cannot recovery remote processor 2024-04-03 15:32:01 +02:00
st_remoteproc.c remoteproc: st: Fix sometimes uninitialized ret in st_rproc_probe() 2023-10-16 11:24:34 -06:00
st_slim_rproc.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
stm32_rproc.c remoteproc: stm32: Fix incorrect type assignment returned by stm32_rproc_get_loaded_rsc_tablef 2024-03-26 18:17:28 -04:00
ti_k3_dsp_remoteproc.c remoteproc: k3-dsp: Convert to platform remove callback returning void 2023-11-30 09:41:44 -07:00
ti_k3_r5_remoteproc.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
ti_sci_proc.h
wkup_m3_rproc.c remoteproc: Explicitly include correct DT includes 2023-07-15 10:35:50 -07:00
xlnx_r5_remoteproc.c remoteproc: zynqmp: Change tcm address translation method 2023-09-29 10:29:52 -06:00