linux/drivers/dma/qcom
Miaoqian Lin 4532f18e4a dmaengine: qcom: gpi: Fix memory leak in gpi_peripheral_config()
commit 3f747004bb upstream.

Fix a memory leak in gpi_peripheral_config() where the original memory
pointed to by gchan->config could be lost if krealloc() fails.

The issue occurs when:
1. gchan->config points to previously allocated memory
2. krealloc() fails and returns NULL
3. The function directly assigns NULL to gchan->config, losing the
   reference to the original memory
4. The original memory becomes unreachable and cannot be freed

Fix this by using a temporary variable to hold the krealloc() result
and only updating gchan->config when the allocation succeeds.

Found via static analysis and code review.

Fixes: 5d0c3533a1 ("dmaengine: qcom: Add GPI dma driver")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Link: https://patch.msgid.link/20251029123421.91973-1-linmq006@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-02-06 16:41:50 +01:00
..
bam_dma.c dmaengine: qcom: bam_dma: Fix DT error handling for num-channels/ees 2025-10-02 13:39:04 +02:00
gpi.c dmaengine: qcom: gpi: Fix memory leak in gpi_peripheral_config() 2026-02-06 16:41:50 +01:00
hidma.c dmaengine: qcom_hidma: remove unused code 2021-04-12 17:14:09 +05:30
hidma.h dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
hidma_dbg.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
hidma_ll.c dmaengine: qcom: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
hidma_mgmt.c dmaengine: qcom_hidma: comment platform_driver_register call 2021-05-13 18:32:29 +02:00
hidma_mgmt.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
hidma_mgmt_sys.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
Kconfig dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM 2021-05-31 09:44:14 +05:30
Makefile dmaengine: qcom: Add GPI dma driver 2020-11-24 21:42:07 +05:30
qcom_adm.c dmaengine: qcom: Fix ADM driver kerneldoc markup 2020-12-11 19:06:47 +05:30