Subject: Re: [PATCH net-next v4 1/2] igmp v6: add __ipv6_sock_mc_join and __ipv6_sock_mc_drop

From: Daniel Borkmann <[email-masked]>
Date: Tue, 24 Feb 2015 11:15:30 +0100

On 02/24/2015 01:59 AM, Madhu Challa wrote:
> Based on the igmp v4 changes from Eric Dumazet.
> 959d10f6bbf6("igmp: add __ip_mc_{join|leave}_group()")
>
> These changes are needed to perform igmp v6 join/leave while
> RTNL is held.
>
> Make ipv6_sock_mc_join and ipv6_sock_mc_drop wrappers around
> __ipv6_sock_mc_join and  __ipv6_sock_mc_drop to avoid
> proliferation of work queues.
>
> Signed-off-by: Madhu Challa <[email-masked]>
...
> @@ -198,25 +197,38 @@ int ipv6_sock_mc_join(struct sock *sk, int ifindex, const struct in6_addr *addr)
>   	mc_lst->next = np->ipv6_mc_list;
>   	rcu_assign_pointer(np->ipv6_mc_list, mc_lst);
>
> -	rtnl_unlock();
>

Nit: you can also get rid of the newline.

>   	return 0;
>   }
> +EXPORT_SYMBOL(__ipv6_sock_mc_join);
> +
> +int ipv6_sock_mc_join(struct sock *sk, int ifindex, const struct in6_addr *addr)
> +{

Rest looks good to me.

Thanks,
Daniel