diff mbox series

[v2] net: ethernet: ixp4xx: Add error handling in ixp4xx_eth_probe()

Message ID 20200422010922.17728-1-tangbin@cmss.chinamobile.com
State Superseded
Delegated to: David Miller
Headers show
Series [v2] net: ethernet: ixp4xx: Add error handling in ixp4xx_eth_probe() | expand

Commit Message

Tang Bin April 22, 2020, 1:09 a.m. UTC
The function ixp4xx_eth_probe() does not perform sufficient error
checking after executing devm_ioremap_resource(), which can result
in crashes if a critical error path is encountered.

Fixes: f458ac479777 ("ARM/net: ixp4xx: Pass ethernet physical base as resource")

Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>
Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
---
v2:
 - add fixed tag
---
 drivers/net/ethernet/xscale/ixp4xx_eth.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Jakub Kicinski April 23, 2020, 12:21 a.m. UTC | #1
On Wed, 22 Apr 2020 09:09:22 +0800 Tang Bin wrote:
> The function ixp4xx_eth_probe() does not perform sufficient error
> checking after executing devm_ioremap_resource(), which can result
> in crashes if a critical error path is encountered.
> 
> Fixes: f458ac479777 ("ARM/net: ixp4xx: Pass ethernet physical base as resource")
> 

No extra lines, between the tags, though, please.

> Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>
> Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
Tang Bin April 23, 2020, 1:49 a.m. UTC | #2
Hi, Jackub:

On 2020/4/23 8:21, Jakub Kicinski wrote:
> On Wed, 22 Apr 2020 09:09:22 +0800 Tang Bin wrote:
>> The function ixp4xx_eth_probe() does not perform sufficient error
>> checking after executing devm_ioremap_resource(), which can result
>> in crashes if a critical error path is encountered.
>>
>> Fixes: f458ac479777 ("ARM/net: ixp4xx: Pass ethernet physical base as resource")
>>
> No extra lines, between the tags, though, please.

Got it, thanks for your guidance, I'll fix it and send v3 for you.

Thanks,

Tang Bin

>
>> Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>
>> Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
diff mbox series

Patch

diff --git a/drivers/net/ethernet/xscale/ixp4xx_eth.c b/drivers/net/ethernet/xscale/ixp4xx_eth.c
index 269596c15..2e5202923 100644
--- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
+++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
@@ -1387,6 +1387,8 @@  static int ixp4xx_eth_probe(struct platform_device *pdev)
 		return -ENODEV;
 	regs_phys = res->start;
 	port->regs = devm_ioremap_resource(dev, res);
+	if (IS_ERR(port->regs))
+		return PTR_ERR(port->regs);
 
 	switch (port->id) {
 	case IXP4XX_ETH_NPEA: