Bug 190360 - kernel panic on bad locking
Summary: kernel panic on bad locking
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: i386
OS: Linux
medium
high
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-05-01 16:16 UTC by Bernard Johnson
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-07-12 04:00:38 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Bernard Johnson 2006-05-01 16:16:23 UTC
Description of problem:
Booting the kernel in question causes a kernel panic with a reason of "bad locking".

Version-Release number of selected component (if applicable):
kernel-2.6.16-1.2181_FC6
udev-090-1

How reproducible:
always

Steps to Reproduce:
1. boot kernel in question
2.
3.
  
Actual results:
                Welcome to Fedora Core
                Press 'I' to enter interactive startup.
Setting clock  (localtime): Mon May  1 10:08:29 MDT 2006   [  OK  ]
Starting udev: BUG: spinlock bad magic on CPU#0, events/0/5 (Not tainted)
 lock: dfd16200, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
Kernel panic - not syncing: bad locking

Expected results:


Additional info:
Even though the output seems to imply the bug is in udev, I'm filing against
kernel because booting an earlier kernel (kernel-2.6.16-1.2147_FC6) does not
show this problem.

Comment 1 Masami Hiramatsu 2006-05-06 00:40:59 UTC
I encountered the same problem.
In my case, the bad locking bug was caused by bcm43xx driver. When I add the
bcm43xx to /etc/modprobe.d/blacklist, the udev does not cause the panic.

I dug deep into this bug, and I found that it was caused by netif_tx_disable()
in the ieee80211softmac_start_scan(). In the netif_tx_disable(), dev->xmit_lock
was locked, but it was not initialized yet.

I think the linux-2.6-bcm43xx-assoc-on-startup.patch was caused this bug, because
this patch called schedule_work(&bcm->softmac->associnfo.work) before calling
register_netdev() function, but the dev->xmit_lock was initialized in the
register_netdev().

Comment 2 Bernard Johnson 2006-05-11 23:47:02 UTC
Fixed in recent rawhide kernels.


Note You need to log in before you can comment on or make changes to this bug.