aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Pirko <jiri@resnulli.us>2012-12-31 22:30:14 -0500
committerDavid S. Miller <davem@davemloft.net>2013-01-04 01:37:35 -0500
commitf652151640344f8faee21fcf702b4fd46b8fe70b (patch)
treee14102323aec4459eee4f5f55a433675e575a396
parente7c3273ec2a04bbce27e0991c405fe6dc6811d7d (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.c7
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}
5028EXPORT_SYMBOL(dev_set_mac_address); 5029EXPORT_SYMBOL(dev_set_mac_address);
5029 5030