diff options
author | Mike Sinkovsky <msink@permonline.ru> | 2012-04-10 15:53:53 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-13 13:34:12 -0400 |
commit | 77577bf93275b485cecb4f358a085949c32e9dcd (patch) | |
tree | 3e65e14eccd1e5c61a2ed78da03031d30308da56 | |
parent | 9b17876f3e674a794a2d83aa47a9b356d36b7418 (diff) |
net: WIZnet drivers: fix possible NULL dereference
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>
-rw-r--r-- | drivers/net/ethernet/wiznet/w5100.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/wiznet/w5300.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/wiznet/w5100.c b/drivers/net/ethernet/wiznet/w5100.c index 18c80982fc6c..a75e9ef5a4ce 100644 --- a/drivers/net/ethernet/wiznet/w5100.c +++ b/drivers/net/ethernet/wiznet/w5100.c | |||
@@ -682,7 +682,7 @@ static int __devinit w5100_hw_probe(struct platform_device *pdev) | |||
682 | return ret; | 682 | return ret; |
683 | priv->irq = irq; | 683 | priv->irq = irq; |
684 | 684 | ||
685 | priv->link_gpio = data->link_gpio; | 685 | priv->link_gpio = data ? data->link_gpio : -EINVAL; |
686 | if (gpio_is_valid(priv->link_gpio)) { | 686 | if (gpio_is_valid(priv->link_gpio)) { |
687 | char *link_name = devm_kzalloc(&pdev->dev, 16, GFP_KERNEL); | 687 | char *link_name = devm_kzalloc(&pdev->dev, 16, GFP_KERNEL); |
688 | if (!link_name) | 688 | if (!link_name) |
diff --git a/drivers/net/ethernet/wiznet/w5300.c b/drivers/net/ethernet/wiznet/w5300.c index f36addf9d2f6..3306a20ec211 100644 --- a/drivers/net/ethernet/wiznet/w5300.c +++ b/drivers/net/ethernet/wiznet/w5300.c | |||
@@ -594,7 +594,7 @@ static int __devinit w5300_hw_probe(struct platform_device *pdev) | |||
594 | return ret; | 594 | return ret; |
595 | priv->irq = irq; | 595 | priv->irq = irq; |
596 | 596 | ||
597 | priv->link_gpio = data->link_gpio; | 597 | priv->link_gpio = data ? data->link_gpio : -EINVAL; |
598 | if (gpio_is_valid(priv->link_gpio)) { | 598 | if (gpio_is_valid(priv->link_gpio)) { |
599 | char *link_name = devm_kzalloc(&pdev->dev, 16, GFP_KERNEL); | 599 | char *link_name = devm_kzalloc(&pdev->dev, 16, GFP_KERNEL); |
600 | if (!link_name) | 600 | if (!link_name) |