diff options
author | Jiri Pirko <jiri@resnulli.us> | 2012-12-31 22:30:14 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-01-04 01:37:35 -0500 |
commit | f652151640344f8faee21fcf702b4fd46b8fe70b (patch) | |
tree | e14102323aec4459eee4f5f55a433675e575a396 | |
parent | e7c3273ec2a04bbce27e0991c405fe6dc6811d7d (diff) |
net: call add_device_randomness() only after successful mac change
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/core/dev.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 21c5b976dcf3..c85e32b30f04 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -5020,10 +5020,11 @@ int dev_set_mac_address(struct net_device *dev, struct sockaddr *sa) | |||
5020 | if (!netif_device_present(dev)) | 5020 | if (!netif_device_present(dev)) |
5021 | return -ENODEV; | 5021 | return -ENODEV; |
5022 | err = ops->ndo_set_mac_address(dev, sa); | 5022 | err = ops->ndo_set_mac_address(dev, sa); |
5023 | if (!err) | 5023 | if (err) |
5024 | call_netdevice_notifiers(NETDEV_CHANGEADDR, dev); | 5024 | return err; |
5025 | call_netdevice_notifiers(NETDEV_CHANGEADDR, dev); | ||
5025 | add_device_randomness(dev->dev_addr, dev->addr_len); | 5026 | add_device_randomness(dev->dev_addr, dev->addr_len); |
5026 | return err; | 5027 | return 0; |
5027 | } | 5028 | } |
5028 | EXPORT_SYMBOL(dev_set_mac_address); | 5029 | EXPORT_SYMBOL(dev_set_mac_address); |
5029 | 5030 | ||