[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20161021.112916.1504671090390906970.davem@davemloft.net>
Date: Fri, 21 Oct 2016 11:29:16 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: xiyou.wangcong@...il.com
Cc: netdev@...r.kernel.org, eric.dumazet@...il.com,
sploving1@...il.com, marcelo.leitner@...il.com
Subject: Re: [Patch net v2] ipv6: fix a potential deadlock in
do_ipv6_setsockopt()
From: Cong Wang <xiyou.wangcong@...il.com>
Date: Wed, 19 Oct 2016 23:35:12 -0700
> Baozeng reported this deadlock case:
>
> CPU0 CPU1
> ---- ----
> lock([ 165.136033] sk_lock-AF_INET6);
> lock([ 165.136033] rtnl_mutex);
> lock([ 165.136033] sk_lock-AF_INET6);
> lock([ 165.136033] rtnl_mutex);
>
> Similar to commit 87e9f0315952
> ("ipv4: fix a potential deadlock in mcast getsockopt() path")
> this is due to we still have a case, ipv6_sock_mc_close(),
> where we acquire sk_lock before rtnl_lock. Close this deadlock
> with the similar solution, that is always acquire rtnl lock first.
>
> Fixes: baf606d9c9b1 ("ipv4,ipv6: grab rtnl before locking the socket")
> Reported-by: Baozeng Ding <sploving1@...il.com>
> Tested-by: Baozeng Ding <sploving1@...il.com>
> Cc: Marcelo Ricardo Leitner <marcelo.leitner@...il.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@...il.com>
Applied, thanks.
Powered by blists - more mailing lists