public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [bug] pcwd_init_module(): WARNING: at lib/kref.c:33 kref_get()
@ 2007-07-22 12:42 Ingo Molnar
  2007-07-22 14:53 ` Satyam Sharma
  0 siblings, 1 reply; 6+ messages in thread
From: Ingo Molnar @ 2007-07-22 12:42 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wim Van Sebroeck


enabling CONFIG_PCWATCHDOG=y crashes bzImage bootup, see below. Tested 
on latest -git.

	Ingo

------------------->
Calling initcall 0xc1e81f8c: pcwd_init_module+0x0/0x14()
WARNING: at lib/kref.c:33 kref_get()
 [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
 [<c0106067>] show_trace+0x12/0x14
 [<c010607d>] dump_stack+0x14/0x16
 [<c051aa54>] kref_get+0x37/0x40
 [<c0519dfe>] kobject_get+0x12/0x17
 [<c06fd12a>] get_bus+0x11/0x21
 [<c06fd729>] bus_add_driver+0x18/0x16b
 [<c06fe45a>] driver_register+0x66/0x6b
 [<c0702575>] isa_register_driver+0x27/0x126
 [<c1e81f9e>] pcwd_init_module+0x12/0x14
 [<c1e50838>] kernel_init+0x15a/0x2df
 [<c0105d87>] kernel_thread_helper+0x7/0x10
 =======================
WARNING: at lib/kref.c:33 kref_get()
 [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
 [<c0106067>] show_trace+0x12/0x14
 [<c010607d>] dump_stack+0x14/0x16
 [<c051aa54>] kref_get+0x37/0x40
 [<c0519dfe>] kobject_get+0x12/0x17
 [<c051a429>] kobject_init+0x32/0x43
 [<c051a4c3>] kobject_register+0x15/0x31
 [<c06fd76d>] bus_add_driver+0x5c/0x16b
 [<c06fe45a>] driver_register+0x66/0x6b
 [<c0702575>] isa_register_driver+0x27/0x126
 [<c1e81f9e>] pcwd_init_module+0x12/0x14
 [<c1e50838>] kernel_init+0x15a/0x2df
 [<c0105d87>] kernel_thread_helper+0x7/0x10
 =======================
BUG: spinlock bad magic on CPU#0, swapper/1
 lock: c1b6a888, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
 [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
 [<c0106067>] show_trace+0x12/0x14
 [<c010607d>] dump_stack+0x14/0x16
 [<c052b0be>] spin_bug+0xa1/0xa9
 [<c052b289>] _raw_spin_lock+0x1e/0x104
 [<c1385f7e>] _spin_lock+0x54/0x62
 [<c051a026>] kobject_shadow_add+0x84/0x171
 [<c051a11d>] kobject_add+0xa/0xc
 [<c051a4ca>] kobject_register+0x1c/0x31
 [<c06fd76d>] bus_add_driver+0x5c/0x16b
 [<c06fe45a>] driver_register+0x66/0x6b
 [<c0702575>] isa_register_driver+0x27/0x126
 [<c1e81f9e>] pcwd_init_module+0x12/0x14
 [<c1e50838>] kernel_init+0x15a/0x2df
 [<c0105d87>] kernel_thread_helper+0x7/0x10
 =======================

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

* Re: [bug] pcwd_init_module(): WARNING: at lib/kref.c:33 kref_get()
  2007-07-22 12:42 [bug] pcwd_init_module(): WARNING: at lib/kref.c:33 kref_get() Ingo Molnar
@ 2007-07-22 14:53 ` Satyam Sharma
  2007-07-22 21:47   ` Wim Van Sebroeck
  2007-07-23  7:33   ` Cornelia Huck
  0 siblings, 2 replies; 6+ messages in thread
From: Satyam Sharma @ 2007-07-22 14:53 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Wim Van Sebroeck, Greg KH, cornelia.huck

On 7/22/07, Ingo Molnar <mingo@elte.hu> wrote:
>
> enabling CONFIG_PCWATCHDOG=y crashes bzImage bootup, see below. Tested
> on latest -git.
>
>         Ingo
>
> ------------------->
> Calling initcall 0xc1e81f8c: pcwd_init_module+0x0/0x14()
> WARNING: at lib/kref.c:33 kref_get()
>  [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
>  [<c0106067>] show_trace+0x12/0x14
>  [<c010607d>] dump_stack+0x14/0x16
>  [<c051aa54>] kref_get+0x37/0x40
>  [<c0519dfe>] kobject_get+0x12/0x17
>  [<c06fd12a>] get_bus+0x11/0x21
>  [<c06fd729>] bus_add_driver+0x18/0x16b
>  [<c06fe45a>] driver_register+0x66/0x6b
>  [<c0702575>] isa_register_driver+0x27/0x126
>  [<c1e81f9e>] pcwd_init_module+0x12/0x14
>  [<c1e50838>] kernel_init+0x15a/0x2df
>  [<c0105d87>] kernel_thread_helper+0x7/0x10
>  =======================

Trying to kref_get() isa_driver.device_driver.bus->subsys.kobj.kref
but it hasn't even been kref_init()'ed yet/already.

> WARNING: at lib/kref.c:33 kref_get()
>  [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
>  [<c0106067>] show_trace+0x12/0x14
>  [<c010607d>] dump_stack+0x14/0x16
>  [<c051aa54>] kref_get+0x37/0x40
>  [<c0519dfe>] kobject_get+0x12/0x17
>  [<c051a429>] kobject_init+0x32/0x43
>  [<c051a4c3>] kobject_register+0x15/0x31
>  [<c06fd76d>] bus_add_driver+0x5c/0x16b
>  [<c06fe45a>] driver_register+0x66/0x6b
>  [<c0702575>] isa_register_driver+0x27/0x126
>  [<c1e81f9e>] pcwd_init_module+0x12/0x14
>  [<c1e50838>] kernel_init+0x15a/0x2df
>  [<c0105d87>] kernel_thread_helper+0x7/0x10
>  =======================

Trying to kref_get() isa_driver.device_driver.kobj.kset->kobj.kref
but it hasn't even been kref_init()'ed yet/already.

> BUG: spinlock bad magic on CPU#0, swapper/1
>  lock: c1b6a888, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
>  [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
>  [<c0106067>] show_trace+0x12/0x14
>  [<c010607d>] dump_stack+0x14/0x16
>  [<c052b0be>] spin_bug+0xa1/0xa9
>  [<c052b289>] _raw_spin_lock+0x1e/0x104
>  [<c1385f7e>] _spin_lock+0x54/0x62
>  [<c051a026>] kobject_shadow_add+0x84/0x171
>  [<c051a11d>] kobject_add+0xa/0xc
>  [<c051a4ca>] kobject_register+0x1c/0x31
>  [<c06fd76d>] bus_add_driver+0x5c/0x16b
>  [<c06fe45a>] driver_register+0x66/0x6b
>  [<c0702575>] isa_register_driver+0x27/0x126
>  [<c1e81f9e>] pcwd_init_module+0x12/0x14
>  [<c1e50838>] kernel_init+0x15a/0x2df
>  [<c0105d87>] kernel_thread_helper+0x7/0x10
>  =======================

Trying to spin_lock() isa_driver.device_driver.kobj.kset->list_lock
but it hasn't even been spin_lock_init()'ed already.

Greg/Cornelia, any idea when/why would such errors normally occur?

Thanks,
Satyam

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

* Re: [bug] pcwd_init_module(): WARNING: at lib/kref.c:33 kref_get()
  2007-07-22 14:53 ` Satyam Sharma
@ 2007-07-22 21:47   ` Wim Van Sebroeck
  2007-07-23  7:33   ` Cornelia Huck
  1 sibling, 0 replies; 6+ messages in thread
From: Wim Van Sebroeck @ 2007-07-22 21:47 UTC (permalink / raw)
  To: Satyam Sharma; +Cc: Ingo Molnar, linux-kernel, Greg KH, cornelia.huck

Hi all,

> On 7/22/07, Ingo Molnar <mingo@elte.hu> wrote:
> >
> >enabling CONFIG_PCWATCHDOG=y crashes bzImage bootup, see below. Tested
> >on latest -git.

I'll have a look at it when I'm back home and I can test it (within a week).

Greetings,
Wim.

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

* Re: [bug] pcwd_init_module(): WARNING: at lib/kref.c:33 kref_get()
  2007-07-22 14:53 ` Satyam Sharma
  2007-07-22 21:47   ` Wim Van Sebroeck
@ 2007-07-23  7:33   ` Cornelia Huck
  2007-07-29 19:06     ` Wim Van Sebroeck
  1 sibling, 1 reply; 6+ messages in thread
From: Cornelia Huck @ 2007-07-23  7:33 UTC (permalink / raw)
  To: Satyam Sharma; +Cc: Ingo Molnar, linux-kernel, Wim Van Sebroeck, Greg KH

On Sun, 22 Jul 2007 20:23:20 +0530,
"Satyam Sharma" <satyam.sharma@gmail.com> wrote:

> On 7/22/07, Ingo Molnar <mingo@elte.hu> wrote:
> >
> > enabling CONFIG_PCWATCHDOG=y crashes bzImage bootup, see below. Tested
> > on latest -git.
> >
> >         Ingo
> >
> > ------------------->
> > Calling initcall 0xc1e81f8c: pcwd_init_module+0x0/0x14()
> > WARNING: at lib/kref.c:33 kref_get()
> >  [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
> >  [<c0106067>] show_trace+0x12/0x14
> >  [<c010607d>] dump_stack+0x14/0x16
> >  [<c051aa54>] kref_get+0x37/0x40
> >  [<c0519dfe>] kobject_get+0x12/0x17
> >  [<c06fd12a>] get_bus+0x11/0x21
> >  [<c06fd729>] bus_add_driver+0x18/0x16b
> >  [<c06fe45a>] driver_register+0x66/0x6b
> >  [<c0702575>] isa_register_driver+0x27/0x126
> >  [<c1e81f9e>] pcwd_init_module+0x12/0x14
> >  [<c1e50838>] kernel_init+0x15a/0x2df
> >  [<c0105d87>] kernel_thread_helper+0x7/0x10
> >  =======================
> 
> Trying to kref_get() isa_driver.device_driver.bus->subsys.kobj.kref
> but it hasn't even been kref_init()'ed yet/already.
> 
> > WARNING: at lib/kref.c:33 kref_get()
> >  [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
> >  [<c0106067>] show_trace+0x12/0x14
> >  [<c010607d>] dump_stack+0x14/0x16
> >  [<c051aa54>] kref_get+0x37/0x40
> >  [<c0519dfe>] kobject_get+0x12/0x17
> >  [<c051a429>] kobject_init+0x32/0x43
> >  [<c051a4c3>] kobject_register+0x15/0x31
> >  [<c06fd76d>] bus_add_driver+0x5c/0x16b
> >  [<c06fe45a>] driver_register+0x66/0x6b
> >  [<c0702575>] isa_register_driver+0x27/0x126
> >  [<c1e81f9e>] pcwd_init_module+0x12/0x14
> >  [<c1e50838>] kernel_init+0x15a/0x2df
> >  [<c0105d87>] kernel_thread_helper+0x7/0x10
> >  =======================
> 
> Trying to kref_get() isa_driver.device_driver.kobj.kset->kobj.kref
> but it hasn't even been kref_init()'ed yet/already.
> 
> > BUG: spinlock bad magic on CPU#0, swapper/1
> >  lock: c1b6a888, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
> >  [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
> >  [<c0106067>] show_trace+0x12/0x14
> >  [<c010607d>] dump_stack+0x14/0x16
> >  [<c052b0be>] spin_bug+0xa1/0xa9
> >  [<c052b289>] _raw_spin_lock+0x1e/0x104
> >  [<c1385f7e>] _spin_lock+0x54/0x62
> >  [<c051a026>] kobject_shadow_add+0x84/0x171
> >  [<c051a11d>] kobject_add+0xa/0xc
> >  [<c051a4ca>] kobject_register+0x1c/0x31
> >  [<c06fd76d>] bus_add_driver+0x5c/0x16b
> >  [<c06fe45a>] driver_register+0x66/0x6b
> >  [<c0702575>] isa_register_driver+0x27/0x126
> >  [<c1e81f9e>] pcwd_init_module+0x12/0x14
> >  [<c1e50838>] kernel_init+0x15a/0x2df
> >  [<c0105d87>] kernel_thread_helper+0x7/0x10
> >  =======================
> 
> Trying to spin_lock() isa_driver.device_driver.kobj.kset->list_lock
> but it hasn't even been spin_lock_init()'ed already.
> 
> Greg/Cornelia, any idea when/why would such errors normally occur?

Might be some ordering problem (bus not registered yet). Is the isa bus
already up? Changing link order or initcall levels might help.

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

* Re: [bug] pcwd_init_module(): WARNING: at lib/kref.c:33 kref_get()
  2007-07-23  7:33   ` Cornelia Huck
@ 2007-07-29 19:06     ` Wim Van Sebroeck
  2007-07-30 19:18       ` Ingo Molnar
  0 siblings, 1 reply; 6+ messages in thread
From: Wim Van Sebroeck @ 2007-07-29 19:06 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: Satyam Sharma, Ingo Molnar, linux-kernel, Greg KH

Hi All,

> On Sun, 22 Jul 2007 20:23:20 +0530,
> "Satyam Sharma" <satyam.sharma@gmail.com> wrote:
> 
> > On 7/22/07, Ingo Molnar <mingo@elte.hu> wrote:
> > >
> > > enabling CONFIG_PCWATCHDOG=y crashes bzImage bootup, see below. Tested
> > > on latest -git.
...
> 
> Might be some ordering problem (bus not registered yet). Is the isa bus
> already up? Changing link order or initcall levels might help.

See below fix. Please test it.
Thanks in advance,
Wim.

[WATCHDOG] Fix pcwd_init_module crash

Fix for the problem detected by Ingo Molnar:
enabling CONFIG_PCWATCHDOG=y crashes bzImage bootup.

The reason for this can be found in drivers/makefile
We first do:
obj-y                           += char/
and later we do:
obj-y                           += base/ block/ misc/ mfd/ net/ media/

So if we put a platform or isa or usb bus driver in char/watchdog
(which is called from the Makefile in drivers/char/Makefile)
then we didn't have the different device drivers initialized yet
(they are in drivers/base and drivers/usb and ...)

This fix makes sure that we compile the watchdog drivers after
drivers/base, drivers/misc, drivers/pci and drivers/usb.
We also do the compile after hwmon because in the future the
watchdog temperature support will use the hwmon system.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>

diff --git a/drivers/Makefile b/drivers/Makefile
index a9e4c5f..f0878b2 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -66,6 +66,7 @@ obj-y				+= i2c/
 obj-$(CONFIG_W1)		+= w1/
 obj-$(CONFIG_POWER_SUPPLY)	+= power/
 obj-$(CONFIG_HWMON)		+= hwmon/
+obj-$(CONFIG_WATCHDOG)		+= char/watchdog/
 obj-$(CONFIG_PHONE)		+= telephony/
 obj-$(CONFIG_MD)		+= md/
 obj-$(CONFIG_BT)		+= bluetooth/
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
index 8fecaf4..2bc3a55 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -97,7 +97,6 @@ obj-$(CONFIG_GPIO_VR41XX)	+= vr41xx_giu.o
 obj-$(CONFIG_GPIO_TB0219)	+= tb0219.o
 obj-$(CONFIG_TELCLOCK)		+= tlclk.o
 
-obj-$(CONFIG_WATCHDOG)		+= watchdog/
 obj-$(CONFIG_MWAVE)		+= mwave/
 obj-$(CONFIG_AGP)		+= agp/
 obj-$(CONFIG_DRM)		+= drm/

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

* Re: [bug] pcwd_init_module(): WARNING: at lib/kref.c:33 kref_get()
  2007-07-29 19:06     ` Wim Van Sebroeck
@ 2007-07-30 19:18       ` Ingo Molnar
  0 siblings, 0 replies; 6+ messages in thread
From: Ingo Molnar @ 2007-07-30 19:18 UTC (permalink / raw)
  To: Wim Van Sebroeck
  Cc: Cornelia Huck, Satyam Sharma, linux-kernel, Greg KH,
	Michal Piotrowski


* Wim Van Sebroeck <wim@iguana.be> wrote:

> See below fix. Please test it.

thanks, this fixes the crash!

Michal, please mark this .23 regression entry as resolved:

 Subject         : pcwd_init_module(): WARNING: at lib/kref.c:33 kref_get()
 References      : http://lkml.org/lkml/2007/7/22/94
 Last known good : ?
 Submitter       : Ingo Molnar <mingo@elte.hu>
 Caused-By       : ?
 Handled-By      : Wim Van Sebroeck <wim@iguana.be>
 Patch           : http://lkml.org/lkml/2007/7/29/235
 Status          : patch available

> [WATCHDOG] Fix pcwd_init_module crash

> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>

Acked-by: Ingo Molnar <mingo@elte.hu>

	Ingo

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

end of thread, other threads:[~2007-07-30 19:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-22 12:42 [bug] pcwd_init_module(): WARNING: at lib/kref.c:33 kref_get() Ingo Molnar
2007-07-22 14:53 ` Satyam Sharma
2007-07-22 21:47   ` Wim Van Sebroeck
2007-07-23  7:33   ` Cornelia Huck
2007-07-29 19:06     ` Wim Van Sebroeck
2007-07-30 19:18       ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox