diff mbox series

[net-next,1/3] net: sparx5: check return value after calling platform_get_resource()

Message ID 20210626044420.390517-2-yangyingliang@huawei.com (mailing list archive)
State Accepted
Commit f00af5cc58ec5aae83ce4860e4912d61fb143d5e
Delegated to: Netdev Maintainers
Headers show
Series fix some bugs for sparx5 | expand

Checks

Context Check Description
netdev/cover_letter success Link
netdev/fixes_present success Link
netdev/patch_count success Link
netdev/tree_selection success Clearly marked for net-next
netdev/subject_prefix success Link
netdev/cc_maintainers fail 2 blamed authors not CCed: p.zabel@pengutronix.de bjarni.jonasson@microchip.com; 4 maintainers not CCed: linux-arm-kernel@lists.infradead.org UNGLinuxDriver@microchip.com p.zabel@pengutronix.de bjarni.jonasson@microchip.com
netdev/source_inline success Was 0 now: 0
netdev/verify_signedoff success Link
netdev/module_param success Was 0 now: 0
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/verify_fixes success Link
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 10 lines checked
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/header_inline success Link

Commit Message

Yang Yingliang June 26, 2021, 4:44 a.m. UTC
It will cause null-ptr-deref if platform_get_resource() returns NULL,
we need check the return value.

Fixes: 3cfa11bac9bb ("net: sparx5: add the basic sparx5 driver")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/net/ethernet/microchip/sparx5/sparx5_main.c | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox series

Patch

diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
index a325f7c05a07..665e20ccb404 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
@@ -228,6 +228,10 @@  static int sparx5_create_targets(struct sparx5 *sparx5)
 	for (idx = 0; idx < IO_RANGES; idx++) {
 		iores[idx] = platform_get_resource(sparx5->pdev, IORESOURCE_MEM,
 						   idx);
+		if (!iores[idx]) {
+			dev_err(sparx5->dev, "Invalid resource\n");
+			return -EINVAL;
+		}
 		iomem[idx] = devm_ioremap(sparx5->dev,
 					  iores[idx]->start,
 					  iores[idx]->end - iores[idx]->start