net: bareudp: simplify error paths calling dellink
bareudp_dellink() only needs the device list to hand it to unregister_netdevice_queue(). We can pass NULL in, and unregister_netdevice_queue() will do the unregistering. There is no chance for batching on the error path, anyway. Suggested-by: Cong Wang <xiyou.wangcong@gmail.com> Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com> Link: https://lore.kernel.org/r/20210111052922.2145003-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Родитель
101c59b8f6
Коммит
1d04ccb916
|
@ -658,7 +658,6 @@ static int bareudp_newlink(struct net *net, struct net_device *dev,
|
|||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bareudp_conf conf;
|
||||
LIST_HEAD(list_kill);
|
||||
int err;
|
||||
|
||||
err = bareudp2info(data, &conf, extack);
|
||||
|
@ -676,8 +675,7 @@ static int bareudp_newlink(struct net *net, struct net_device *dev,
|
|||
return 0;
|
||||
|
||||
err_unconfig:
|
||||
bareudp_dellink(dev, &list_kill);
|
||||
unregister_netdevice_many(&list_kill);
|
||||
bareudp_dellink(dev, NULL);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -729,7 +727,6 @@ struct net_device *bareudp_dev_create(struct net *net, const char *name,
|
|||
{
|
||||
struct nlattr *tb[IFLA_MAX + 1];
|
||||
struct net_device *dev;
|
||||
LIST_HEAD(list_kill);
|
||||
int err;
|
||||
|
||||
memset(tb, 0, sizeof(tb));
|
||||
|
@ -753,8 +750,7 @@ struct net_device *bareudp_dev_create(struct net *net, const char *name,
|
|||
|
||||
return dev;
|
||||
err:
|
||||
bareudp_dellink(dev, &list_kill);
|
||||
unregister_netdevice_many(&list_kill);
|
||||
bareudp_dellink(dev, NULL);
|
||||
return ERR_PTR(err);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(bareudp_dev_create);
|
||||
|
|
Загрузка…
Ссылка в новой задаче