Re: [PATCH net-next v4 2/2] vxlan: allow specifying multiple default destinations
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2013-06-24 15:18:23
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2013-06-24 15:18:23
On Mon, 24 Jun 2013 06:48:17 +0000 (UTC) Cong Wang [off-list ref] wrote:
quoted
+static int vxlan_fill_remotes_info(struct sk_buff *skb, + const struct vxlan_dev *vxlan) +{ + struct vxlan_rdst *rd; + struct nlattr *nest, *rdst_nest; + __be32 ip; + int i = 1; + + if (!vxlan->remotes_cnt) + return 0; + + nest = nla_nest_start(skb, IFLA_VXLAN_REMOTES); + if (nest == NULL) + goto nla_put_failure; + + list_for_each_entry_rcu(rd, &vxlan->remotes, list) {Need RCU read lock here?
RCU is unnecessary here since already protected by RTNL.
rtnl_fill_ifinfo
ASSERT_RTNL()
rtnl_link_fill
vxlan_fill_info
vxlan_fill_remotes_info
Better just to remove the for_each_entry_rcu and use for_each_entry