Commit a654421e authored by Kunwu Chan's avatar Kunwu Chan Committed by GUO Zihua
Browse files

dmaengine: ti: edma: Add some null pointer checks to the edma_probe

mainline inclusion
from mainline-v6.8-rc3
commit 6e2276203ac9ff10fc76917ec9813c660f627369
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=6e2276203ac9ff10fc76917ec9813c660f627369



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

devm_kasprintf() returns a pointer to dynamically allocated memory
which can be NULL upon failure. Ensure the allocation was successful
by checking the pointer validity.

Signed-off-by: default avatarKunwu Chan <chentao@kylinos.cn>
Link: https://lore.kernel.org/r/20240118031929.192192-1-chentao@kylinos.cn


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
Conflicts:
	drivers/dma/ti/edma.c
Signed-off-by: default avatarGUO Zihua <guozihua@huawei.com>
parent f8fe8939
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -2307,6 +2307,11 @@ static int edma_probe(struct platform_device *pdev)
	if (irq >= 0) {
		irq_name = devm_kasprintf(dev, GFP_KERNEL, "%s_ccint",
					  dev_name(dev));
		if (!irq_name) {
			ret = -ENOMEM;
			goto err_disable_pm;
		}

		ret = devm_request_irq(dev, irq, dma_irq_handler, 0, irq_name,
				       ecc);
		if (ret) {
@@ -2323,6 +2328,11 @@ static int edma_probe(struct platform_device *pdev)
	if (irq >= 0) {
		irq_name = devm_kasprintf(dev, GFP_KERNEL, "%s_ccerrint",
					  dev_name(dev));
		if (!irq_name) {
			ret = -ENOMEM;
			goto err_disable_pm;
		}

		ret = devm_request_irq(dev, irq, dma_ccerr_handler, 0, irq_name,
				       ecc);
		if (ret) {