Re: 2.6.17-rc5-mm1 lockdep output

2006-05-31 Thread Arjan van de Ven
On Wed, 2006-05-31 at 17:04 -0700, Jesse Brandeburg wrote:
> well, when running e1000 through some code paths on FC4 +
> 2.6.17-rc5-mm1 + ingo's latest rollup patch, with this lockdep debug
> option enabled I got this:
> 
> e1000: eth1: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex
> 
> ==
> [ BUG: bad unlock ordering detected! ]
> --
> mDNSResponder/2361 is trying to release lock (&in_dev->mc_list_lock) at:
>  [] ip_mc_add_src+0x85/0x1f8
> but the next lock to release is:
>  (&im->lock){-+..}, at: [] ip_mc_add_src+0x7d/0x1f8
> 
> other info that might help us debug this:
> 2 locks held by mDNSResponder/2361:
>  #0:  (rtnl_mutex){--..}, at: [] mutex_lock+0x27/0x2c
>  #1:  (&in_dev->mc_list_lock){-.-?}, at: []
> ip_mc_add_src+0x3f/0x1f8

ok another out of order one in igmp ...


Signed-off-by: Arjan van de Ven <[EMAIL PROTECTED]>

---
 net/ipv4/igmp.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.17-rc5-mm1.5/net/ipv4/igmp.c
===
--- linux-2.6.17-rc5-mm1.5.orig/net/ipv4/igmp.c
+++ linux-2.6.17-rc5-mm1.5/net/ipv4/igmp.c
@@ -1646,7 +1646,7 @@ static int ip_mc_add_src(struct in_devic
return -ESRCH;
}
spin_lock_bh(&pmc->lock);
-   read_unlock(&in_dev->mc_list_lock);
+   read_unlock_non_nested(&in_dev->mc_list_lock);
 
 #ifdef CONFIG_IP_MULTICAST
sf_markstate(pmc);

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


2.6.17-rc5-mm1 lockdep output

2006-05-31 Thread Jesse Brandeburg

well, when running e1000 through some code paths on FC4 +
2.6.17-rc5-mm1 + ingo's latest rollup patch, with this lockdep debug
option enabled I got this:

e1000: eth1: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex

==
[ BUG: bad unlock ordering detected! ]
--
mDNSResponder/2361 is trying to release lock (&in_dev->mc_list_lock) at:
[] ip_mc_add_src+0x85/0x1f8
but the next lock to release is:
(&im->lock){-+..}, at: [] ip_mc_add_src+0x7d/0x1f8

other info that might help us debug this:
2 locks held by mDNSResponder/2361:
#0:  (rtnl_mutex){--..}, at: [] mutex_lock+0x27/0x2c
#1:  (&in_dev->mc_list_lock){-.-?}, at: []
ip_mc_add_src+0x3f/0x1f8

stack backtrace:

Call Trace:
 [] show_trace+0xa4/0x204
   [] dump_stack+0x15/0x17
[] lockdep_release+0x197/0x329
   [] _read_unlock+0x1c/0x28
   [] ip_mc_add_src+0x85/0x1f8
   [] ip_mc_inc_group+0x1b5/0x220
   [] ip_mc_join_group+0xcf/0xf3
   [] do_ip_setsockopt+0x697/0x99d
   [] ip_setsockopt+0x24/0x8b
   [] udp_setsockopt+0xe/0x1c
   [] sock_common_setsockopt+0xf/0x11
   [] sys_setsockopt+0x8f/0xb4
   [] tracesys+0xd1/0xdb
e1000: eth1: e1000_watchdog_task: NIC Link is Down
e1000: eth1: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex

.config attached.

As an aside, when I first tried to enable this I turned on the
selftest but turned off all the lockdep options besides spinlock and
the selftest fails.


config.gz
Description: GNU Zip compressed data