Blob Blame History Raw
From: Kunwu Chan <chentao@kylinos.cn>
Date: Thu, 18 Jan 2024 11:19:29 +0800
Subject: dmaengine: ti: edma: Add some null pointer checks to the edma_probe
Git-commit: 6e2276203ac9ff10fc76917ec9813c660f627369
Patch-mainline: v6.8-rc3
References: CVE-2024-26771 bsc#1222610

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: Kunwu Chan <chentao@kylinos.cn>
Link: https://lore.kernel.org/r/20240118031929.192192-1-chentao@kylinos.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org>
[iivanov: adapted for SLE12-SP5]
Acked-by: Ivan T. Ivanov <iivanov@suse.de>
---
 drivers/dma/edma.c |    6 ++++++
 1 file changed, 6 insertions(+)

--- a/drivers/dma/edma.c
+++ b/drivers/dma/edma.c
@@ -2298,6 +2298,9 @@ static int edma_probe(struct platform_de
 	if (irq >= 0) {
 		irq_name = devm_kasprintf(dev, GFP_KERNEL, "%s_ccint",
 					  dev_name(dev));
+		if (!irq_name)
+			return -ENOMEM;
+
 		ret = devm_request_irq(dev, irq, dma_irq_handler, 0, irq_name,
 				       ecc);
 		if (ret) {
@@ -2314,6 +2317,9 @@ static int edma_probe(struct platform_de
 	if (irq >= 0) {
 		irq_name = devm_kasprintf(dev, GFP_KERNEL, "%s_ccerrint",
 					  dev_name(dev));
+		if (!irq_name)
+			return -ENOMEM;
+
 		ret = devm_request_irq(dev, irq, dma_ccerr_handler, 0, irq_name,
 				       ecc);
 		if (ret) {