linux-brain/drivers/soc/qcom
Manivannan Sadhasivam 24c245de17 soc: qcom: aoss: Fix the out of bound usage of cooling_devs
commit a89f355e469dcda129c2522be4fdba00c1c74c83 upstream.

In "qmp_cooling_devices_register", the count value is initially
QMP_NUM_COOLING_RESOURCES, which is 2. Based on the initial count value,
the memory for cooling_devs is allocated. Then while calling the
"qmp_cooling_device_add" function, count value is post-incremented for
each child node.

This makes the out of bound access to the cooling_dev array. Fix it by
passing the QMP_NUM_COOLING_RESOURCES definition to devm_kzalloc() and
initializing the count to 0.

While at it, let's also free the memory allocated to cooling_dev if no
cooling device is found in DT and during unroll phase.

Cc: stable@vger.kernel.org # 5.4
Fixes: 05589b30b2 ("soc: qcom: Extend AOSS QMP driver to support resources that are used to wake up the SoC.")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20210629153249.73428-1-manivannan.sadhasivam@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-09-22 12:26:20 +02:00
..
Kconfig soc: qcom: Add socinfo driver 2019-08-05 14:56:31 -07:00
Makefile soc: qcom: Add socinfo driver 2019-08-05 14:56:31 -07:00
apr.c soc: qcom: apr: Don't use reg for domain id 2019-06-15 00:03:44 -07:00
cmd-db.c soc: qcom: cmd-db: Fix an error code in cmd_db_dev_probe() 2019-03-27 23:32:26 -05:00
glink_ssr.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
llcc-sdm845.c qcom: soc: llcc-slice: Clear the global drv_data pointer on error 2019-02-12 15:27:14 -06:00
llcc-slice.c soc: qcom: llcc: Name regmaps to avoid collisions 2020-01-26 10:01:02 +01:00
mdt_loader.c soc: qcom: mdt_loader: Detect truncated read of segments 2021-05-14 09:44:20 +02:00
qcom-geni-se.c soc: qcom: geni: More properly switch to DMA mode 2020-12-30 11:51:01 +01:00
qcom_aoss.c soc: qcom: aoss: Fix the out of bound usage of cooling_devs 2021-09-22 12:26:20 +02:00
qcom_gsbi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 409 2019-06-05 17:37:14 +02:00
qmi_encdec.c soc: qcom: Introduce QMI encoder/decoder 2017-12-20 15:38:34 -06:00
qmi_interface.c soc: qcom: qmi: Change txn wait to non-interruptible 2019-03-27 23:32:26 -05:00
rmtfs_mem.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
rpmh-internal.h drivers: qcom: rpmh: add support for batch RPMH request 2018-07-21 13:33:36 -05:00
rpmh-rsc.c soc: qcom: rpmh-rsc: Set suppress_bind_attrs flag 2020-08-19 08:15:59 +02:00
rpmh.c soc: qcom: rpmh: Dirt can only make you dirtier, not cleaner 2020-07-29 10:18:25 +02:00
rpmhpd.c soc: qcom: rpmhpd: Use corner in power_off 2021-09-15 09:47:31 +02:00
rpmpd.c soc: qcom: rpmpd: Add MSM8998 power-domains 2019-05-29 21:40:44 -05:00
smd-rpm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
smem.c soc: qcom: smem: Update max processor count 2019-08-21 15:58:01 -07:00
smem_state.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
smp2p.c soc: qcom: smp2p: Safely acquire spinlock without IRQs 2020-12-30 11:51:43 +01:00
smsm.c soc: qcom: smsm: Fix missed interrupts if state changes while masked 2021-09-15 09:47:33 +02:00
socinfo.c soc: qcom: socinfo: add missing soc_id sysfs entry 2020-07-22 09:33:04 +02:00
spm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
trace-rpmh.h drivers: qcom: rpmh-rsc: log RPMH requests in FTRACE 2018-07-21 13:32:31 -05:00
wcnss_ctrl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00