diff --git a/net/core/dev_mcast.c b/net/core/dev_mcast.c index 9e2fa39f22a300e1fc46502aac39f305751e69c5..fd91569e2394b0b37caada596af21b29a5e2df3b 100644 --- a/net/core/dev_mcast.c +++ b/net/core/dev_mcast.c @@ -96,6 +96,8 @@ int dev_mc_add(struct net_device *dev, void *addr, int alen, int glbl) int err; netif_addr_lock_bh(dev); + if (alen != dev->addr_len) + return -EINVAL; err = __dev_addr_add(&dev->mc_list, &dev->mc_count, addr, alen, glbl); if (!err) __dev_set_rx_mode(dev);