netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 2.6.17-rc5-mm1 lockdep output
@ 2006-06-01  0:04 Jesse Brandeburg
  2006-06-01  6:34 ` Arjan van de Ven
  2006-06-01  6:35 ` [patch, -rc5-mm1] lock validator: special locking: net/ipv4/igmp.c #2 Ingo Molnar
  0 siblings, 2 replies; 4+ messages in thread
From: Jesse Brandeburg @ 2006-06-01  0:04 UTC (permalink / raw)
  To: Linux-Kernel,, Andrew Morton, mingo, Arjan van de Ven,
	NetDEV list

[-- Attachment #1: Type: text/plain, Size: 1820 bytes --]

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:
 [<ffffffff81233f5a>] ip_mc_add_src+0x85/0x1f8
but the next lock to release is:
 (&im->lock){-+..}, at: [<ffffffff81233f52>] ip_mc_add_src+0x7d/0x1f8

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

stack backtrace:

Call Trace:
  [<ffffffff8100a8c0>] show_trace+0xa4/0x204
        [<ffffffff8100ac32>] dump_stack+0x15/0x17
[<ffffffff8104495b>] lockdep_release+0x197/0x329
        [<ffffffff81254e45>] _read_unlock+0x1c/0x28
        [<ffffffff81233f5a>] ip_mc_add_src+0x85/0x1f8
        [<ffffffff812342f5>] ip_mc_inc_group+0x1b5/0x220
        [<ffffffff8123493e>] ip_mc_join_group+0xcf/0xf3
        [<ffffffff81214ca7>] do_ip_setsockopt+0x697/0x99d
        [<ffffffff81215059>] ip_setsockopt+0x24/0x8b
        [<ffffffff8122c5bc>] udp_setsockopt+0xe/0x1c
        [<ffffffff811ec236>] sock_common_setsockopt+0xf/0x11
        [<ffffffff811ea425>] sys_setsockopt+0x8f/0xb4
        [<ffffffff810093c2>] 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.

[-- Attachment #2: config.gz --]
[-- Type: application/x-gzip, Size: 11074 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.6.17-rc5-mm1 lockdep output
  2006-06-01  0:04 2.6.17-rc5-mm1 lockdep output Jesse Brandeburg
@ 2006-06-01  6:34 ` Arjan van de Ven
  2006-06-01  6:35 ` [patch, -rc5-mm1] lock validator: special locking: net/ipv4/igmp.c #2 Ingo Molnar
  1 sibling, 0 replies; 4+ messages in thread
From: Arjan van de Ven @ 2006-06-01  6:34 UTC (permalink / raw)
  To: Jesse Brandeburg; +Cc: NetDEV list, mingo, Andrew Morton, Linux-Kernel,

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:
>  [<ffffffff81233f5a>] ip_mc_add_src+0x85/0x1f8
> but the next lock to release is:
>  (&im->lock){-+..}, at: [<ffffffff81233f52>] ip_mc_add_src+0x7d/0x1f8
> 
> other info that might help us debug this:
> 2 locks held by mDNSResponder/2361:
>  #0:  (rtnl_mutex){--..}, at: [<ffffffff81253741>] mutex_lock+0x27/0x2c
>  #1:  (&in_dev->mc_list_lock){-.-?}, at: [<ffffffff81233f14>]
> ip_mc_add_src+0x3f/0x1f8

ok another out of order one in igmp ...


Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>

---
 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);


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [patch, -rc5-mm1] lock validator: special locking: net/ipv4/igmp.c #2
  2006-06-01  0:04 2.6.17-rc5-mm1 lockdep output Jesse Brandeburg
  2006-06-01  6:34 ` Arjan van de Ven
@ 2006-06-01  6:35 ` Ingo Molnar
  2006-06-02  6:47   ` Jesse Brandeburg
  1 sibling, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2006-06-01  6:35 UTC (permalink / raw)
  To: Jesse Brandeburg
  Cc: Linux-Kernel,, Andrew Morton, Arjan van de Ven, NetDEV list


* Jesse Brandeburg <jesse.brandeburg@gmail.com> 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:
> [<ffffffff81233f5a>] ip_mc_add_src+0x85/0x1f8

ok, could you try the patch below? (i also updated the rollup with this 
fix)

	Ingo

---------------------
Subject: lock validator: special locking: net/ipv4/igmp.c #2
From: Ingo Molnar <mingo@elte.hu>

another case of non-nested unlocking igmp.c.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 net/ipv4/igmp.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux/net/ipv4/igmp.c
===================================================================
--- linux.orig/net/ipv4/igmp.c
+++ linux/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);

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [patch, -rc5-mm1] lock validator: special locking: net/ipv4/igmp.c #2
  2006-06-01  6:35 ` [patch, -rc5-mm1] lock validator: special locking: net/ipv4/igmp.c #2 Ingo Molnar
@ 2006-06-02  6:47   ` Jesse Brandeburg
  0 siblings, 0 replies; 4+ messages in thread
From: Jesse Brandeburg @ 2006-06-02  6:47 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Linux-Kernel,, Andrew Morton, Arjan van de Ven, NetDEV list

On 5/31/06, Ingo Molnar <mingo@elte.hu> wrote:
>
> * Jesse Brandeburg <jesse.brandeburg@gmail.com> 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:
> > [<ffffffff81233f5a>] ip_mc_add_src+0x85/0x1f8
>
> ok, could you try the patch below? (i also updated the rollup with this
> fix)
>
>         Ingo
>
> ---------------------
> Subject: lock validator: special locking: net/ipv4/igmp.c #2
> From: Ingo Molnar <mingo@elte.hu>
>
> another case of non-nested unlocking igmp.c.
>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
> ---
>  net/ipv4/igmp.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux/net/ipv4/igmp.c
> ===================================================================
> --- linux.orig/net/ipv4/igmp.c
> +++ linux/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);
>

yep, this fixes it.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-06-02  6:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-01  0:04 2.6.17-rc5-mm1 lockdep output Jesse Brandeburg
2006-06-01  6:34 ` Arjan van de Ven
2006-06-01  6:35 ` [patch, -rc5-mm1] lock validator: special locking: net/ipv4/igmp.c #2 Ingo Molnar
2006-06-02  6:47   ` Jesse Brandeburg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).