diff options
author | Eric Dumazet <edumazet@google.com> | 2016-07-08 12:03:57 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-07-10 01:14:17 +0300 |
commit | 95556a883834122c616bbeb942654d745ceb9712 (patch) | |
tree | 38d19b84c9d1d2b632f0c08a321dd9fb44c7e5f3 /net/batman-adv/bridge_loop_avoidance.c | |
parent | 03addc2bcebd953e74c52f0664629032fd9767e9 (diff) | |
download | linux-95556a883834122c616bbeb942654d745ceb9712.tar.xz |
dccp: avoid deadlock in dccp_v4_ctl_send_reset
In the prep work I did before enabling BH while handling socket backlog,
I missed two points in DCCP :
1) dccp_v4_ctl_send_reset() uses bh_lock_sock(), assuming BH were
blocked. It is not anymore always true.
2) dccp_v4_route_skb() was using __IP_INC_STATS() instead of
IP_INC_STATS()
A similar fix was done for TCP, in commit 47dcc20a39d0
("ipv4: tcp: ip_send_unicast_reply() is not BH safe")
Fixes: 7309f8821fd6 ("dccp: do not assume DCCP code is non preemptible")
Fixes: 5413d1babe8f ("net: do not block BH while processing socket backlog")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/batman-adv/bridge_loop_avoidance.c')
0 files changed, 0 insertions, 0 deletions