Re: [PATCH net v2] ipv6: fix rtnl locking in setsockopt for anycast and multicast

From: Cong Wang
Date: Fri Sep 05 2014 - 14:58:38 EST

On Fri, Sep 5, 2014 at 11:53 AM, David Miller <davem@xxxxxxxxxxxxx> wrote:
> From: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx>
> Date: Tue, 2 Sep 2014 10:29:29 +0200
>> Calling setsockopt with IPV6_JOIN_ANYCAST or IPV6_LEAVE_ANYCAST
>> triggers the assertion in addrconf_join_solict()/addrconf_leave_solict()
>> ipv6_sock_ac_join(), ipv6_sock_ac_drop(), ipv6_sock_ac_close() need to
>> take RTNL before calling ipv6_dev_ac_inc/dec. Same thing with
>> ipv6_sock_mc_join(), ipv6_sock_mc_drop(), ipv6_sock_mc_close() before
>> calling ipv6_dev_mc_inc/dec.
>> This patch moves ASSERT_RTNL() up a level in the call stack.
>> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
>> Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx>
>> Reported-by: Tommi Rantala <tt.rantala@xxxxxxxxx>
> Applied and queued up for -stable, thanks.

I believe you applied a wrong version, at least the following
is not correct:

+ if (!dev)
+ return -ENODEV;

Sabrina took that from my draft patch, but they all don't
realize this is wrong.

(I did provide a correct version which is just ignored by you.)
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at