Hannes Frederic Sowa 43a43b6040 ipv6: some ipv6 statistic counters failed to disable bh
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 <festevam@gmail.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-31 16:38:12 -04:00
..
2014-02-13 18:33:38 -05:00
2014-03-31 16:26:40 -04:00
2014-02-16 23:45:00 -05:00
2014-01-21 18:13:05 -08:00
2014-02-12 19:26:32 -05:00
2013-10-19 19:36:19 -04:00
2014-03-10 13:56:26 -04:00
2014-03-17 13:16:50 -04:00
2014-02-19 12:13:02 -08:00
2013-11-21 13:09:42 -05:00