diff options
Diffstat (limited to 'net/core/rtnetlink.c')
-rw-r--r-- | net/core/rtnetlink.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index d1ba90980be1..9201e3621351 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c | |||
@@ -2031,7 +2031,8 @@ static int do_setlink(const struct sk_buff *skb, | |||
2031 | struct sockaddr *sa; | 2031 | struct sockaddr *sa; |
2032 | int len; | 2032 | int len; |
2033 | 2033 | ||
2034 | len = sizeof(sa_family_t) + dev->addr_len; | 2034 | len = sizeof(sa_family_t) + max_t(size_t, dev->addr_len, |
2035 | sizeof(*sa)); | ||
2035 | sa = kmalloc(len, GFP_KERNEL); | 2036 | sa = kmalloc(len, GFP_KERNEL); |
2036 | if (!sa) { | 2037 | if (!sa) { |
2037 | err = -ENOMEM; | 2038 | err = -ENOMEM; |
@@ -4241,6 +4242,7 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi | |||
4241 | 4242 | ||
4242 | switch (event) { | 4243 | switch (event) { |
4243 | case NETDEV_REBOOT: | 4244 | case NETDEV_REBOOT: |
4245 | case NETDEV_CHANGEADDR: | ||
4244 | case NETDEV_CHANGENAME: | 4246 | case NETDEV_CHANGENAME: |
4245 | case NETDEV_FEAT_CHANGE: | 4247 | case NETDEV_FEAT_CHANGE: |
4246 | case NETDEV_BONDING_FAILOVER: | 4248 | case NETDEV_BONDING_FAILOVER: |