linux/drivers/soc/qcom
Johan Hovold 90e176b3e7 soc: qcom: ocmem: fix device leak on lookup
commit b5c16ea57b upstream.

Make sure to drop the reference taken to the ocmem platform device when
looking up its driver data.

Note that holding a reference to a device does not prevent its driver
data from going away so there is no point in keeping the reference.

Also note that commit 0ff027027e ("soc: qcom: ocmem: Fix missing
put_device() call in of_get_ocmem") fixed the leak in a lookup error
path, but the reference is still leaking on success.

Fixes: 88c1e9404f ("soc: qcom: add OCMEM driver")
Cc: stable@vger.kernel.org	# 5.5: 0ff027027e
Cc: Brian Masney <bmasney@redhat.com>
Cc: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Link: https://lore.kernel.org/r/20250926143511.6715-2-johan@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-08 10:14:29 +01: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: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +01: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: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +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: fix device leak on lookup 2026-01-08 10:14:29 +01: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: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +01: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: fix device leak on lookup 2026-01-08 10:14:29 +01:00
qcom_aoss.c soc: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +01:00
qcom_gsbi.c soc: qcom: gsbi: fix double disable caused by devm 2025-12-18 13:54:47 +01: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: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +01: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 soc: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +01:00
rmtfs_mem.c soc: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +01:00
rpm-proc.c soc: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +01:00
rpm_master_stats.c soc: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +01: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: Unconditionally clear _TRIGGER bit for TCS 2025-10-15 11:59:57 +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 soc: qcom: smem: fix hwspinlock resource leak in probe error paths 2025-12-18 13:54:50 +01: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: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +01:00
smsm.c soc: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +01:00
socinfo.c soc: Switch back to struct platform_driver::remove() 2025-12-18 13:54:46 +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