[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 08 Aug 2008 22:28:41 +0800
From: Herbert Xu <herbert@...dor.apana.org.au>
To: m.s.tsirkin@...il.com (Michael S. Tsirkin)
Cc: linux-kernel@...r.kernel.org, davem@...emloft.net,
yoshfuji@...ux-ipv6.org, netdev@...r.kernel.org, haoki@...hat.com
Subject: Re: possible recursive locking in udp4_lib_rcv
Michael S. Tsirkin <m.s.tsirkin@...il.com> wrote:
> I noticed the following warnings when running on 2.6.27-rc2
> with lockdep checker enabled:
>
> [ 2912.004106] Initializing XFRM netlink socket
Argh, this was added by
commit 95766fff6b9a78d11fc2d3812dd035381690b55d
Author: Hideo Aoki <haoki@...hat.com>
Date: Mon Dec 31 00:29:24 2007 -0800
[UDP]: Add memory accounting.
@@ -1165,7 +1189,13 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct hlist_head udptable[],
inet_iif(skb), udptable);
if (sk != NULL) {
- int ret = udp_queue_rcv_skb(sk, skb);
+ int ret = 0;
+ bh_lock_sock_nested(sk);
+ if (!sock_owned_by_user(sk))
+ ret = udp_queue_rcv_skb(sk, skb);
+ else
+ sk_add_backlog(sk, skb);
+ bh_unlock_sock(sk);
Hmm, what was the reason for that lock?
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists