net: qualcomm: rmnet: move null check on dev before dereferecing it
authorColin Ian King <colin.king@canonical.com>
Sat, 24 Nov 2018 15:03:02 +0000 (15:03 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 25 Nov 2018 01:40:35 +0000 (17:40 -0800)
Currently dev is dereferenced by the call dev_net(dev) before dev is null
checked.  Fix this by null checking dev before the potential null
pointer dereference.

Detected by CoverityScan, CID#1462955 ("Dereference before null check")

Fixes: 23790ef12082 ("net: qualcomm: rmnet: Allow to configure flags for existing devices")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c

index 5f4e447c5dce2d2cd4e4f8f981bde86d0335e10a..b8bbee645f5170550eae39ce5e4dce0e29f719f2 100644 (file)
@@ -301,10 +301,13 @@ static int rmnet_changelink(struct net_device *dev, struct nlattr *tb[],
        struct rmnet_port *port;
        u16 mux_id;
 
+       if (!dev)
+               return -ENODEV;
+
        real_dev = __dev_get_by_index(dev_net(dev),
                                      nla_get_u32(tb[IFLA_LINK]));
 
-       if (!real_dev || !dev || !rmnet_is_real_dev_registered(real_dev))
+       if (!real_dev || !rmnet_is_real_dev_registered(real_dev))
                return -ENODEV;
 
        port = rmnet_get_port_rtnl(real_dev);