linux/drivers/soc/qcom
Bjorn Andersson 87bfabb3b2 soc: qcom: mdt_loader: Ensure we don't read past the ELF header
commit 9f9967fed9 upstream.

When the MDT loader is used in remoteproc, the ELF header is sanitized
beforehand, but that's not necessary the case for other clients.

Validate the size of the firmware buffer to ensure that we don't read
past the end as we iterate over the header. e_phentsize and e_shentsize
are validated as well, to ensure that the assumptions about step size in
the traversal are valid.

Fixes: 2aad40d911 ("remoteproc: Move qcom_mdt_loader into drivers/soc/qcom")
Cc: stable@vger.kernel.org
Reported-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250610-mdt-loader-validation-and-fixes-v2-1-f7073e9ab899@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-08-28 16:30:57 +02:00
..
apr.c soc: qcom: apr: simplify with scoped for each OF child loop 2024-08-14 22:14:43 -05:00
cmd-db.c soc: qcom: cmd-db: Map shared memory as WC, not WB 2024-07-28 21:59:45 -05:00
icc-bwmon.c soc: qcom: icc-bwmon: Add tracepoints in bwmon_intr_thread 2024-07-31 22:22:47 -05:00
ice.c soc: qcom: ice: introduce devm_of_qcom_ice_get 2025-05-02 07:58:52 +02:00
Kconfig soc: qcom: pd-mapper: Depend on ARCH_QCOM || COMPILE_TEST 2024-07-28 21:37:00 -05:00
kryo-l2-accessors.c soc: qcom: Switch to EXPORT_SYMBOL_GPL() 2023-09-27 16:08:38 -07:00
llcc-qcom.c soc: qcom: llcc: Enable LLCC_WRCACHE at boot on X1 2025-02-17 10:05:32 +01:00
Makefile soc: qcom: smp2p: Introduce tracepoint support 2024-07-28 21:58:46 -05:00
mdt_loader.c soc: qcom: mdt_loader: Ensure we don't read past the ELF header 2025-08-28 16:30:57 +02:00
ocmem.c soc: qcom: ocmem: use scoped device node handling to simplify error paths 2024-08-14 22:14:43 -05:00
pdr_interface.c soc: qcom: pdr: Fix the potential deadlock 2025-03-28 22:03:31 +01:00
pdr_internal.h soc: qcom: add pd-mapper implementation 2024-06-24 17:32:07 -05:00
pmic_glink.c soc: qcom: pmic_glink: fix OF node leak 2025-08-15 12:13:38 +02:00
pmic_glink_altmode.c soc: qcom: pmic_glink_altmode: fix spurious DP hotplug events 2025-06-27 11:11:22 +01:00
pmic_pdcharger_ulog.c soc: qcom: mention intentionally broken module autoloading 2024-04-21 11:22:11 -05:00
pmic_pdcharger_ulog.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
qcom-geni-se.c soc: qcom: geni-se: fix array underflow in geni_se_clk_tbl_get() 2024-12-05 14:01:26 +01:00
qcom-pbs.c soc: qcom: pbs: use scoped device node handling to simplify error paths 2024-08-14 22:14:43 -05:00
qcom_aoss.c soc: qcom: aoss: simplify with scoped for each OF child loop 2024-08-14 22:14:43 -05:00
qcom_gsbi.c soc: qcom: qcom_gsbi: Convert to platform remove callback returning void 2023-10-02 11:30:19 -07:00
qcom_pd_mapper.c soc: qcom: pd-mapper: Add QCM6490 PD maps 2024-12-14 20:03:39 +01:00
qcom_pdr_msg.c soc: qcom: add pd-mapper implementation 2024-06-24 17:32:07 -05:00
qcom_stats.c soc: qcom: qcom_stats: Add DSPs and apss subsystem stats 2024-03-17 22:19:08 -05:00
qmi_encdec.c soc: qcom: QMI encoding/decoding for big endian 2025-08-15 12:13:33 +02:00
qmi_interface.c soc: qcom: Switch to EXPORT_SYMBOL_GPL() 2023-09-27 16:08:38 -07:00
ramp_controller.c ARM: SoC drivers for 6.5 2023-06-29 15:22:19 -07:00
rmtfs_mem.c soc: qcom: rmtfs_mem: Convert to platform remove callback returning void 2023-10-02 11:30:26 -07:00
rpm-proc.c soc: qcom: Add RPM processor/subsystem driver 2023-07-13 22:18:57 -07:00
rpm_master_stats.c soc: qcom: mention intentionally broken module autoloading 2024-04-21 11:22:11 -05:00
rpmh-internal.h soc: qcom: rpmh-rsc: Avoid unnecessary checks on irq-done response 2022-12-05 15:12:17 -06:00
rpmh-rsc.c soc: qcom: rpmh-rsc: Add RSC version 4 support 2025-08-20 18:30:22 +02:00
rpmh.c soc: qcom: rpmh-rsc: Ensure irqs aren't disabled by rpmh_rsc_send_data() callers 2024-05-27 11:50:09 -05:00
smd-rpm.c soc: qcom: smd-rpm: add qcom,smd-rpm compatible 2024-08-14 22:14:42 -05:00
smem.c remoteproc updates for v6.11 2024-07-23 13:36:51 -07:00
smem_state.c soc: qcom: smem_state: fix missing of_node_put in error path 2025-02-17 10:05:33 +01:00
smp2p.c soc: qcom: smp2p: Fix fallback to qcom,ipc parse 2025-06-19 15:32:01 +02:00
smsm.c soc: qcom: smsm: Support using mailbox interface 2024-06-12 23:09:25 -05:00
socinfo.c soc: qcom: socinfo: Avoid out of bounds read of serial number 2025-02-17 10:05:18 +01:00
spm.c soc: qcom: spm: add missing MODULE_DESCRIPTION() 2024-06-05 22:02:16 -05:00
trace-aoss.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
trace-rpmh.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
trace-smp2p.h soc: qcom: smp2p: Introduce tracepoint support 2024-07-28 21:58:46 -05:00
trace_icc-bwmon.h soc: qcom: icc-bwmon: Add tracepoints in bwmon_intr_thread 2024-07-31 22:22:47 -05:00
wcnss_ctrl.c soc: qcom: wcnss: simplify with cleanup.h 2024-07-06 12:56:50 -05:00