diff options
Diffstat (limited to 'freed-ora/current/f27/0001-net-phy-mdio-bcm-unimac-fix-potential-NULL-dereferen.patch')
-rw-r--r-- | freed-ora/current/f27/0001-net-phy-mdio-bcm-unimac-fix-potential-NULL-dereferen.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/freed-ora/current/f27/0001-net-phy-mdio-bcm-unimac-fix-potential-NULL-dereferen.patch b/freed-ora/current/f27/0001-net-phy-mdio-bcm-unimac-fix-potential-NULL-dereferen.patch new file mode 100644 index 000000000..061ef5819 --- /dev/null +++ b/freed-ora/current/f27/0001-net-phy-mdio-bcm-unimac-fix-potential-NULL-dereferen.patch @@ -0,0 +1,44 @@ +From 297a6961ffb8ff4dc66c9fbf53b924bd1dda05d5 Mon Sep 17 00:00:00 2001 +From: Wei Yongjun <weiyongjun1@huawei.com> +Date: Thu, 11 Jan 2018 11:21:51 +0000 +Subject: [PATCH] net: phy: mdio-bcm-unimac: fix potential NULL dereference in + unimac_mdio_probe() + +platform_get_resource() may fail and return NULL, so we should +better check it's return value to avoid a NULL pointer dereference +a bit later in the code. + +This is detected by Coccinelle semantic patch. + +@@ +expression pdev, res, n, t, e, e1, e2; +@@ + +res = platform_get_resource(pdev, t, n); ++ if (!res) ++ return -EINVAL; +... when != res == NULL +e = devm_ioremap(e1, res->start, e2); + +Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + drivers/net/phy/mdio-bcm-unimac.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/net/phy/mdio-bcm-unimac.c b/drivers/net/phy/mdio-bcm-unimac.c +index 08e0647b85e2..8d370667fa1b 100644 +--- a/drivers/net/phy/mdio-bcm-unimac.c ++++ b/drivers/net/phy/mdio-bcm-unimac.c +@@ -205,6 +205,8 @@ static int unimac_mdio_probe(struct platform_device *pdev) + return -ENOMEM; + + r = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ if (!r) ++ return -EINVAL; + + /* Just ioremap, as this MDIO block is usually integrated into an + * Ethernet MAC controller register range +-- +2.14.3 + |