Commit 22f4fbd9bd283ef85126e511171932a4af703776
Committed by
David S. Miller
1 parent
bba14de987
Exists in
master
and in
7 other branches
infiniband: remove dev_base_lock use
dev_base_lock is the legacy way to lock the device list, and is planned to disappear. (writers hold RTNL, readers hold RCU lock) Convert rdma_translate_ip() and update_ipv6_gids() to RCU locking. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Roland Dreier <rolandd@cisco.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 2 changed files with 6 additions and 6 deletions Side-by-side Diff
drivers/infiniband/core/addr.c
... | ... | @@ -130,8 +130,8 @@ |
130 | 130 | |
131 | 131 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) |
132 | 132 | case AF_INET6: |
133 | - read_lock(&dev_base_lock); | |
134 | - for_each_netdev(&init_net, dev) { | |
133 | + rcu_read_lock(); | |
134 | + for_each_netdev_rcu(&init_net, dev) { | |
135 | 135 | if (ipv6_chk_addr(&init_net, |
136 | 136 | &((struct sockaddr_in6 *) addr)->sin6_addr, |
137 | 137 | dev, 1)) { |
... | ... | @@ -139,7 +139,7 @@ |
139 | 139 | break; |
140 | 140 | } |
141 | 141 | } |
142 | - read_unlock(&dev_base_lock); | |
142 | + rcu_read_unlock(); | |
143 | 143 | break; |
144 | 144 | #endif |
145 | 145 | } |
drivers/infiniband/hw/mlx4/main.c
... | ... | @@ -848,8 +848,8 @@ |
848 | 848 | goto out; |
849 | 849 | } |
850 | 850 | |
851 | - read_lock(&dev_base_lock); | |
852 | - for_each_netdev(&init_net, tmp) { | |
851 | + rcu_read_lock(); | |
852 | + for_each_netdev_rcu(&init_net, tmp) { | |
853 | 853 | if (ndev && (tmp == ndev || rdma_vlan_dev_real_dev(tmp) == ndev)) { |
854 | 854 | gid.global.subnet_prefix = cpu_to_be64(0xfe80000000000000LL); |
855 | 855 | vid = rdma_vlan_dev_vlan_id(tmp); |
... | ... | @@ -884,7 +884,7 @@ |
884 | 884 | } |
885 | 885 | } |
886 | 886 | } |
887 | - read_unlock(&dev_base_lock); | |
887 | + rcu_read_unlock(); | |
888 | 888 | |
889 | 889 | for (i = 0; i < 128; ++i) |
890 | 890 | if (!hits[i]) { |