| From stable-bounces@linux.kernel.org Tue Apr 21 21:20:08 2009 |
| Date: Tue, 21 Apr 2009 21:20:02 GMT |
| Message-Id: <200904212120.n3LLK2IY024865@hera.kernel.org> |
| From: Eric Paris <eparis@parisplace.org> |
| To: jejb@kernel.org, stable@kernel.org |
| Subject: scsi: mpt: suppress debugobjects warning |
| |
| upstream commit: b298cecb3deddf76d60022473a57f1cb776cbdcd |
| |
| Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13133 |
| |
| ODEBUG: object is on stack, but not annotated |
| ------------[ cut here ]------------ |
| WARNING: at lib/debugobjects.c:253 __debug_object_init+0x1f3/0x276() |
| Hardware name: VMware Virtual Platform |
| Modules linked in: mptspi(+) mptscsih mptbase scsi_transport_spi ext3 jbd mbcache |
| Pid: 540, comm: insmod Not tainted 2.6.28-mm1 #2 |
| Call Trace: |
| [<c042c51c>] warn_slowpath+0x74/0x8a |
| [<c0469600>] ? start_critical_timing+0x96/0xb7 |
| [<c060c8ea>] ? _spin_unlock_irqrestore+0x2f/0x3c |
| [<c0446fad>] ? trace_hardirqs_off_caller+0x18/0xaf |
| [<c044704f>] ? trace_hardirqs_off+0xb/0xd |
| [<c060c8ea>] ? _spin_unlock_irqrestore+0x2f/0x3c |
| [<c042cb84>] ? release_console_sem+0x1a5/0x1ad |
| [<c05013e6>] __debug_object_init+0x1f3/0x276 |
| [<c0501494>] debug_object_init+0x13/0x17 |
| [<c0433c56>] init_timer+0x10/0x1a |
| [<e08e5b54>] mpt_config+0x1c1/0x2b7 [mptbase] |
| [<e08e3b82>] ? kmalloc+0x8/0xa [mptbase] |
| [<e08e3b82>] ? kmalloc+0x8/0xa [mptbase] |
| [<e08e6fa2>] mpt_do_ioc_recovery+0x950/0x1212 [mptbase] |
| [<c04496c2>] ? __lock_acquire+0xa69/0xacc |
| [<c060c8f1>] ? _spin_unlock_irqrestore+0x36/0x3c |
| [<c060c3af>] ? _spin_unlock_irq+0x22/0x26 |
| [<c04f2d8b>] ? string+0x2b/0x76 |
| [<c04f310e>] ? vsnprintf+0x338/0x7b3 |
| [<c04496c2>] ? __lock_acquire+0xa69/0xacc |
| [<c060c8ea>] ? _spin_unlock_irqrestore+0x2f/0x3c |
| [<c04496c2>] ? __lock_acquire+0xa69/0xacc |
| [<c044897d>] ? debug_check_no_locks_freed+0xeb/0x105 |
| [<c060c8f1>] ? _spin_unlock_irqrestore+0x36/0x3c |
| [<c04488bc>] ? debug_check_no_locks_freed+0x2a/0x105 |
| [<c0446b8c>] ? lock_release_holdtime+0x43/0x48 |
| [<c043f742>] ? up_read+0x16/0x29 |
| [<c05076f8>] ? pci_get_slot+0x66/0x72 |
| [<e08e89ca>] mpt_attach+0x881/0x9b1 [mptbase] |
| [<e091c8e5>] mptspi_probe+0x11/0x354 [mptspi] |
| |
| Noticing that every caller of mpt_config has its CONFIGPARMS struct |
| declared on the stack and thus the &pCfg->timer is always on the stack I |
| changed init_timer() to init_timer_on_stack() and it seems to have shut |
| up..... |
| |
| Cc: "Moore, Eric Dean" <Eric.Moore@lsil.com> |
| Cc: James Bottomley <James.Bottomley@HansenPartnership.com> |
| Cc: Thomas Gleixner <tglx@linutronix.de> |
| Acked-by: "Desai, Kashyap" <Kashyap.Desai@lsi.com> |
| Cc: <stable@kernel.org> [2.6.29.x] |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Chris Wright <chrisw@sous-sol.org> |
| --- |
| drivers/message/fusion/mptbase.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/message/fusion/mptbase.c |
| +++ b/drivers/message/fusion/mptbase.c |
| @@ -5934,7 +5934,7 @@ mpt_config(MPT_ADAPTER *ioc, CONFIGPARMS |
| |
| /* Initalize the timer |
| */ |
| - init_timer(&pCfg->timer); |
| + init_timer_on_stack(&pCfg->timer); |
| pCfg->timer.data = (unsigned long) ioc; |
| pCfg->timer.function = mpt_timer_expired; |
| pCfg->wait_done = 0; |