linux/drivers/soc/qcom
Bjorn Andersson 2fae927c25 soc: qcom: mdt_loader: Deal with zero e_shentsize
commit 25daf9af0a upstream.

Firmware that doesn't provide section headers leave both e_shentsize and
e_shnum 0, which obvious isn't compatible with the newly introduced
stricter checks.

Make the section-related checks conditional on either of these values
being non-zero.

Fixes: 9f9967fed9 ("soc: qcom: mdt_loader: Ensure we don't read past the ELF header")
Reported-by: Val Packett <val@packett.cool>
Closes: https://lore.kernel.org/all/ece307c3-7d65-440f-babd-88cf9705b908@packett.cool/
Reported-by: Neil Armstrong <neil.armstrong@linaro.org>
Closes: https://lore.kernel.org/all/aec9cd03-6fc2-4dc8-b937-8b7cf7bf4128@linaro.org/
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Fixes: 9f35ab0e53 ("soc: qcom: mdt_loader: Fix error return values in mdt_header_valid()")
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250730-mdt-loader-shentsize-zero-v1-1-04f43186229c@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-09-09 18:58:17 +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: Deal with zero e_shentsize 2025-09-09 18:58:17 +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