Commit 42c17fa6 authored by Dan Carpenter's avatar Dan Carpenter Committed by David S. Miller
Browse files

net: fix a leak in register_netdevice()



We have to free "dev->name_node" on this error path.

Fixes: ff927412 ("net: introduce name_node struct to be used in hashlist")
Reported-by: default avatar <syzbot+6e13e65ffbaa33757bcb@syzkaller.appspotmail.com>
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 56e7a2f8
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -9246,7 +9246,7 @@ int register_netdevice(struct net_device *dev)
		if (ret) {
			if (ret > 0)
				ret = -EIO;
			goto out;
			goto err_free_name;
		}
	}

@@ -9361,12 +9361,12 @@ out:
	return ret;

err_uninit:
	if (dev->name_node)
		netdev_name_node_free(dev->name_node);
	if (dev->netdev_ops->ndo_uninit)
		dev->netdev_ops->ndo_uninit(dev);
	if (dev->priv_destructor)
		dev->priv_destructor(dev);
err_free_name:
	netdev_name_node_free(dev->name_node);
	goto out;
}
EXPORT_SYMBOL(register_netdevice);