Commit f7e3bd41 authored by Chuhong Yuan's avatar Chuhong Yuan Committed by GUO Zihua
Browse files

dmaengine: ti: edma: fix missed failure handling

mainline inclusion
from mainline-v5.6-rc1
commit 340049d4
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9E2MP
CVE: CVE-2024-26771

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=340049d453682a9fe8d91fe794dd091730f4bb25



--------------------------------

When devm_kcalloc fails, it forgets to call edma_free_slot.
Replace direct return with failure handler to fix it.

Fixes: 1be5336b ("dmaengine: edma: New device tree binding")
Signed-off-by: default avatarChuhong Yuan <hslester96@gmail.com>
Link: https://lore.kernel.org/r/20191118073802.28424-1-hslester96@gmail.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
Signed-off-by: default avatarGUO Zihua <guozihua@huawei.com>
parent 1ed85cbd
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -2345,8 +2345,10 @@ static int edma_probe(struct platform_device *pdev)

		ecc->tc_list = devm_kcalloc(dev, ecc->num_tc,
					    sizeof(*ecc->tc_list), GFP_KERNEL);
		if (!ecc->tc_list)
			return -ENOMEM;
		if (!ecc->tc_list) {
			ret = -ENOMEM;
			goto err_reg1;
		}

		for (i = 0;; i++) {
			ret = of_parse_phandle_with_fixed_args(node, "ti,tptcs",