From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net] ipv6: some ipv6 statistic counters failed to disable bh Date: Mon, 31 Mar 2014 16:39:04 -0400 (EDT) Message-ID: <20140331.163904.1733729527022532179.davem@davemloft.net> References: <20140331181410.GC24150@order.stressinduktion.org> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: festevam@gmail.com, netdev@vger.kernel.org, eric.dumazet@gmail.com To: hannes@stressinduktion.org Return-path: Received: from shards.monkeyblade.net ([149.20.54.216]:43030 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750987AbaCaUjH (ORCPT ); Mon, 31 Mar 2014 16:39:07 -0400 In-Reply-To: <20140331181410.GC24150@order.stressinduktion.org> Sender: netdev-owner@vger.kernel.org List-ID: From: Hannes Frederic Sowa Date: Mon, 31 Mar 2014 20:14:10 +0200 > After commit c15b1ccadb323ea ("ipv6: move DAD and addrconf_verify > processing to workqueue") some counters are now updated in process context > and thus need to disable bh before doing so, otherwise deadlocks can > happen on 32-bit archs. Fabio Estevam noticed this while while mounting > a NFS volume on an ARM board. > > As a compensation for missing this I looked after the other *_STATS_BH > and found three other calls which need updating: > > 1) icmp6_send: ip6_fragment -> icmpv6_send -> icmp6_send (error handling) > 2) ip6_push_pending_frames: rawv6_sendmsg -> rawv6_push_pending_frames -> ... > (only in case of icmp protocol with raw sockets in error handling) > 3) ping6_v6_sendmsg (error handling) > > Fixes: c15b1ccadb323ea ("ipv6: move DAD and addrconf_verify processing to workqueue") > Reported-by: Fabio Estevam > Tested-by: Fabio Estevam > Cc: Eric Dumazet > Signed-off-by: Hannes Frederic Sowa > --- > > I would propose this patch for -stable, too. Applied and queued up for -stable, thanks.