On Mon,  7 May 2018 15:10:44 -0700
Sridhar Samudrala <sridhar.samudr...@intel.com> wrote:

> +static struct net_device *net_failover_get_bymac(u8 *mac,
> +                                              struct net_failover_ops **ops)
> +{
> +     struct net_device *failover_dev;
> +     struct net_failover *failover;
> +
> +     spin_lock(&net_failover_lock);
> +     list_for_each_entry(failover, &net_failover_list, list) {
> +             failover_dev = rtnl_dereference(failover->failover_dev);
> +             if (ether_addr_equal(failover_dev->perm_addr, mac)) {
> +                     *ops = rtnl_dereference(failover->ops);
> +                     spin_unlock(&net_failover_lock);
> +                     return failover_dev;
> +             }
> +     }
> +     spin_unlock(&net_failover_lock);
> +     return NULL;
> +}

This is broken if non-ethernet devices such as Infiniband are present.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to