dpaa2-mac: Fix potential null pointer dereference
authorGustavo A. R. Silva <gustavoars@kernel.org>
Fri, 25 Sep 2020 17:03:23 +0000 (12:03 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sat, 26 Sep 2020 00:15:37 +0000 (17:15 -0700)
There is a null-check for _pcs_, but it is being dereferenced
prior to this null-check. So, if _pcs_ can actually be null,
then there is a potential null pointer dereference that should
be fixed by null-checking _pcs_ before being dereferenced.

Addresses-Coverity-ID: 1497159 ("Dereference before null check")
Fixes: 94ae899b2096 ("dpaa2-mac: add PCS support through the Lynx module")
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c

index cdd1acd0117eb48a828dc6f88d27e88fde6cdfb2..90cd243070d7add696e1a2192a0eb2df3e93498a 100644 (file)
@@ -290,9 +290,9 @@ static int dpaa2_pcs_create(struct dpaa2_mac *mac,
 static void dpaa2_pcs_destroy(struct dpaa2_mac *mac)
 {
        struct lynx_pcs *pcs = mac->pcs;
-       struct device *dev = &pcs->mdio->dev;
 
        if (pcs) {
+               struct device *dev = &pcs->mdio->dev;
                lynx_pcs_destroy(pcs);
                put_device(dev);
                mac->pcs = NULL;