Thread (15 messages) 15 messages, 4 authors, 2013-11-30
STALE4567d

[PATCH] udp: fix possible seqlock deadlock

From: Eric Dumazet <hidden>
Date: 2013-11-28 17:23:15
Also in: lkml
Subsystem: networking [general], the rest, user datagram protocol (udp) · Maintainers: "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds, Willem de Bruijn

From: Eric Dumazet <edumazet@google.com>

In commit c9e9042994d3 ("ipv4: fix possible seqlock deadlock") I left
another spot where IP_INC_STATS_BH() was improperly used.

udp_sendmsg() is called from process context, not from softirq context.

This was detected by lockdep seqlock support.

Reported-by: jongman heo <redacted>
Fixes: 584bdf8cbdf6 ("[IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Hannes Frederic Sowa <redacted>
---
 net/ipv4/udp.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 44dfaa09b584..44e3884f9e4c 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -999,7 +999,7 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
 			err = PTR_ERR(rt);
 			rt = NULL;
 			if (err == -ENETUNREACH)
-				IP_INC_STATS_BH(net, IPSTATS_MIB_OUTNOROUTES);
+				IP_INC_STATS(net, IPSTATS_MIB_OUTNOROUTES);
 			goto out;
 		}
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help