| From foo@baz Wed Aug 22 09:42:09 CEST 2018 |
| From: Li RongQing <lirongqing@baidu.com> |
| Date: Tue, 19 Jun 2018 17:23:17 +0800 |
| Subject: net: propagate dev_get_valid_name return code |
| |
| From: Li RongQing <lirongqing@baidu.com> |
| |
| [ Upstream commit 7892bd081045222b9e4027fec279a28d6fe7aa66 ] |
| |
| if dev_get_valid_name failed, propagate its return code |
| |
| and remove the setting err to ENODEV, it will be set to |
| 0 again before dev_change_net_namespace exits. |
| |
| Signed-off-by: Li RongQing <lirongqing@baidu.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> |
| --- |
| net/core/dev.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/net/core/dev.c |
| +++ b/net/core/dev.c |
| @@ -7945,7 +7945,8 @@ int dev_change_net_namespace(struct net_ |
| /* We get here if we can't use the current device name */ |
| if (!pat) |
| goto out; |
| - if (dev_get_valid_name(net, dev, pat) < 0) |
| + err = dev_get_valid_name(net, dev, pat); |
| + if (err < 0) |
| goto out; |
| } |
| |
| @@ -7957,7 +7958,6 @@ int dev_change_net_namespace(struct net_ |
| dev_close(dev); |
| |
| /* And unlink it from device chain */ |
| - err = -ENODEV; |
| unlist_netdevice(dev); |
| |
| synchronize_net(); |