]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
net: WIZnet drivers: fix possible NULL dereference
authorMike Sinkovsky <msink@permonline.ru>
Tue, 10 Apr 2012 19:53:53 +0000 (19:53 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 13 Apr 2012 17:34:12 +0000 (13:34 -0400)
This fixes possible null dereference in probe() function: when both
.mac_addr and .link_gpio are unknown, dev.platform_data may be NULL

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mike Sinkovsky <msink@permonline.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/wiznet/w5100.c
drivers/net/ethernet/wiznet/w5300.c

index 18c80982fc6cf6d872c0624acb25ffec9c57329d..a75e9ef5a4ce2705603903b9500f358b582baabd 100644 (file)
@@ -682,7 +682,7 @@ static int __devinit w5100_hw_probe(struct platform_device *pdev)
                return ret;
        priv->irq = irq;
 
-       priv->link_gpio = data->link_gpio;
+       priv->link_gpio = data ? data->link_gpio : -EINVAL;
        if (gpio_is_valid(priv->link_gpio)) {
                char *link_name = devm_kzalloc(&pdev->dev, 16, GFP_KERNEL);
                if (!link_name)
index f36addf9d2f6b57d7ef5abc00627c3fdfe2c3200..3306a20ec2119984df4f57df3fef621c9f246b6e 100644 (file)
@@ -594,7 +594,7 @@ static int __devinit w5300_hw_probe(struct platform_device *pdev)
                return ret;
        priv->irq = irq;
 
-       priv->link_gpio = data->link_gpio;
+       priv->link_gpio = data ? data->link_gpio : -EINVAL;
        if (gpio_is_valid(priv->link_gpio)) {
                char *link_name = devm_kzalloc(&pdev->dev, 16, GFP_KERNEL);
                if (!link_name)