linux_dsm_epyc7002/drivers/net/bonding
Veaceslav Falico cedb743f3e bonding: don't call alb_set_slave_mac_addr() while atomic
alb_set_slave_mac_addr() sets the mac address in alb mode via
dev_set_mac_address(), which might sleep. It's called from
alb_handle_addr_collision_on_attach() in atomic context (under
read_lock(bond->lock)), thus triggering a bug.

Fix this by moving the lock inside alb_handle_addr_collision_on_attach().

v1->v2:
As Nikolay Aleksandrov noticed, we can drop the bond->lock completely.
Also, use bond_slave_has_mac(), when possible.

Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-06-17 16:27:24 -07:00
..
bond_3ad.c bonding: fix multiple 3ad mode sysfs race conditions 2013-05-19 23:25:49 -07:00
bond_3ad.h bonding: fix multiple 3ad mode sysfs race conditions 2013-05-19 23:25:49 -07:00
bond_alb.c bonding: don't call alb_set_slave_mac_addr() while atomic 2013-06-17 16:27:24 -07:00
bond_alb.h bonding: delete migrated IP addresses from the rlb hash table 2012-11-30 12:07:27 -05:00
bond_debugfs.c bonding: delete migrated IP addresses from the rlb hash table 2012-11-30 12:07:27 -05:00
bond_main.c bonding: disallow change of MAC if fail_over_mac enabled 2013-06-07 15:05:51 -07:00
bond_procfs.c bonding: fix multiple 3ad mode sysfs race conditions 2013-05-19 23:25:49 -07:00
bond_sysfs.c bonding: trivial: update the comments to reflect the reality 2013-05-28 23:57:23 -07:00
bonding.h bonding: Convert hw addr handling to sync/unsync, support ucast addresses 2013-06-07 15:05:51 -07:00
Makefile bonding, ipv4, ipv6, vlan: Handle NETDEV_BONDING_FAILOVER like NETDEV_NOTIFY_PEERS 2011-04-17 23:36:03 -07:00