Thread (182 messages) flat view 182 messages, 27 authors, 2008-08-01

Re: [crash] BUG: unable to handle kernel NULL pointer dereference at 0000000000000370

From: Patrick McHardy <hidden>
Date: 2008-07-22 14:54:06
Also in: linux-wireless, lkml

Larry Finger wrote:
David Miller wrote:
quoted
From: Larry Finger <redacted>
Date: Tue, 22 Jul 2008 01:34:28 -0500
quoted
quoted
GIT bisecting the lockdep problem is surely going the land you on:

commit e308a5d806c852f56590ffdd3834d0df0cbed8d7
No. It landed on this one.
For the lockdep warnings?
When I was just one commit later, I got both the lockdep warning and the 
BUG. This is the commit in question.
I actually don't see how you could still get the warning with
Dave's patch and the two I sent applied.

The warning is triggered by the dev_mc_sync call in
ieee80211_set_multicast_list:

         dev_mc_sync(local->mdev, dev); 


local->mdev is the wmaster device, which has its type set to
ARPHRD_IEEE80211. dev is regular wireless device with type set
to ARPHRD_ETHER. So they have distinct lockdep classes set
by register_netdevice.

The warning is:

Jul 21 15:11:07 larrylap kernel: NetworkManager/2661 is trying to 
acquire lock:
Jul 21 15:11:07 larrylap kernel:  (&dev->addr_list_lock){-...}, at: 
[<ffffffff803a2961>] dev_mc_sync+0x19/0x57
Jul 21 15:11:07 larrylap kernel:
Jul 21 15:11:07 larrylap kernel: but task is already holding lock:
Jul 21 15:11:07 larrylap kernel:  (&dev->addr_list_lock){-...}, at: 
[<ffffffff8039e7c5>] dev_set_rx_mode+0x19/0x2e
Jul 21 15:11:07 larrylap kernel:

The only already held is dev->addr_list_lock, the one taken
by dev_mc_sync is local->mdev->addr_list_lock. And this shouldn't
cause any warnings because of the distinct lockdep classes.

Could you please retry with the three patches attached to this
mail? If the lockdep warning still triggers, please post it again.

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help