net: netcp: check for interface handle in netcp_module_probe()
authorKaricheri, Muralidharan <m-karicheri2@ti.com>
Wed, 23 Sep 2015 17:37:09 +0000 (13:37 -0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Sep 2015 21:37:37 +0000 (14:37 -0700)
Currently netcp_module_probe() doesn't check the return value of
of_parse_phandle() that points to the interface data for the
module and then pass the node ptr to the module which is incorrect.
Check for return value and free the intf_modpriv if there is error.

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/netcp_core.c

index 97e2629c10b9102b7afdf337c9ae8fe841717058..d39dce3b37a782418324b52048c8720b503fcafc 100644 (file)
@@ -299,6 +299,11 @@ static int netcp_module_probe(struct netcp_device *netcp_device,
                interface = of_parse_phandle(netcp_intf->node_interface,
                                             module->name, 0);
 
+               if (!interface) {
+                       devm_kfree(dev, intf_modpriv);
+                       continue;
+               }
+
                intf_modpriv->netcp_priv = netcp_intf;
                intf_modpriv->netcp_module = module;
                list_add_tail(&intf_modpriv->intf_list,