No, ipv6_sk_mc_lock is required for join and leave to protect
inet6_mc_check()
calls, and modifications to the filter list only happen via ioctls that
are protected
by the socket lock.
I don't think any of these changes are correct.
+-DLS
netdev-owner@vger.kernel.org wrote on 10/30/2005 07:44:24 AM:
Hello.
I think ipv6_sk_mc_lock should protest both ipv6_mc_list and it's
sflist.
because they can are used by
inet6_mc_check(...) in softirq and be modified by ip6_mc_source(...) or
ip6_mc_msfilter(...) simultaneity.
I also remove read_lock when traverse ipv6_mc_list, because it's
protected by
lock_sock(sk).