Thread (14 messages) 14 messages, 2 authors, 2021-03-30

Re: [PATCH net-next v3 5/7] mld: convert ifmcaddr6 to RCU

From: Eric Dumazet <hidden>
Date: 2021-03-29 19:57:26
Also in: batman, linux-s390


On 3/25/21 5:16 PM, Taehee Yoo wrote:
The ifmcaddr6 has been protected by inet6_dev->lock(rwlock) so that
the critical section is atomic context. In order to switch this context,
changing locking is needed. The ifmcaddr6 actually already protected by
RTNL So if it's converted to use RCU, its control path context can be
switched to sleepable.
I do not really understand the changelog.

You wanted to convert from RCU to RTNL, right ?

Also :
quoted hunk ↗ jump to hunk
@@ -571,13 +573,9 @@ int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf,
 	if (!ipv6_addr_is_multicast(group))
 		return -EINVAL;
 
-	rcu_read_lock();
-	idev = ip6_mc_find_dev_rcu(net, group, gsf->gf_interface);
-
-	if (!idev) {
-		rcu_read_unlock();
+	idev = ip6_mc_find_dev_rtnl(net, group, gsf->gf_interface);
+	if (!idev)
 		return -ENODEV;
-	}
 
I do not see RTNL being acquired before entering ip6_mc_msfget()

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help