mirror of https://gitee.com/openkylin/linux.git
failover: change mtu has RTNL
When changing MTU, RTNL is held so use rtnl_dereference instead of rcu_dereference. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4b09384aaa
commit
3260155ac7
|
@ -220,14 +220,14 @@ static int net_failover_change_mtu(struct net_device *dev, int new_mtu)
|
||||||
struct net_device *primary_dev, *standby_dev;
|
struct net_device *primary_dev, *standby_dev;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
primary_dev = rcu_dereference(nfo_info->primary_dev);
|
primary_dev = rtnl_dereference(nfo_info->primary_dev);
|
||||||
if (primary_dev) {
|
if (primary_dev) {
|
||||||
ret = dev_set_mtu(primary_dev, new_mtu);
|
ret = dev_set_mtu(primary_dev, new_mtu);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
standby_dev = rcu_dereference(nfo_info->standby_dev);
|
standby_dev = rtnl_dereference(nfo_info->standby_dev);
|
||||||
if (standby_dev) {
|
if (standby_dev) {
|
||||||
ret = dev_set_mtu(standby_dev, new_mtu);
|
ret = dev_set_mtu(standby_dev, new_mtu);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
|
Loading…
Reference in New Issue