[PATCH 4.16 125/272] net: qualcomm: rmnet: check for null ep to avoid null pointer dereference

Greg Kroah-Hartman
2018-05-28T11:51:31Z

From: Colin Ian King <colin.king@canonical.com>

[ Upstream commit 0c29ba1b43df1eb7d8beb03fc929d2dac4c15f7e ]

The call to rmnet_get_endpoint can potentially return NULL so check
for this to avoid any subsequent null pointer dereferences on a NULL
ep.

Detected by CoverityScan, CID#1465385 ("Dereference null return value")

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>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 2 ++
1 file changed, 2 insertions(+)

--- a/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
+++ b/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
@@ -307,6 +307,8 @@ static int rmnet_changelink(struct net_d
if (data[IFLA_VLAN_ID]) {
mux_id = nla_get_u16(data[IFLA_VLAN_ID]);
ep = rmnet_get_endpoint(port, priv->mux_id);
+ if (!ep)
+ return -ENODEV;

hlist_del_init_rcu(&ep->hlnode);
hlist_add_head_rcu(&ep->hlnode, &port->muxed_ep[mux_id]);