From: "Eric Paris" <eparis@parisplace.org>
To: "Andrew Morton" <akpm@linux-foundation.org>
Cc: "Tetsuo Handa" <penguin-kernel@i-love.sakura.ne.jp>,
linux-kernel@vger.kernel.org,
"Thomas Gleixner" <tglx@linutronix.de>
Subject: Re: [mmotm 2008-12-30-16-05] Warning at MPT driver initialization.
Date: Mon, 5 Jan 2009 11:45:07 -0500 [thread overview]
Message-ID: <7e0fb38c0901050845u3140d2c5iac7ab6c269fc5ec7@mail.gmail.com> (raw)
In-Reply-To: <20081231182613.a37eab90.akpm@linux-foundation.org>
[-- Attachment #1: Type: text/plain, Size: 3363 bytes --]
On Wed, Dec 31, 2008 at 9:26 PM, Andrew Morton
<akpm@linux-foundation.org> wrote:
> On Thu, 1 Jan 2009 10:51:12 +0900 Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> wrote:
>
>> Hello.
>>
>> I got below warning.
>>
>> Regards.
>> ----------------------------------------
>> Fusion MPT base driver 3.04.07
>> Copyright (c) 1999-2008 LSI Corporation
>> Fusion MPT SPI Host driver 3.04.07
>> ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
>> PCI: setting IRQ 11 as level-triggered
>> mptspi 0000:00:10.0: PCI INT A -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
>> mptbase: ioc0: Initiating bringup
>> ioc0: LSI53C1030 B0: Capabilities={Initiator}
>> 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]
>
> Well it's the debugobjects stuff complaining about
> init_timer(&pCfg->timer) in mpt_config().
>
> I spent a minute trying to work out what the heck
> debug_object_is_on_stack() is trying to tell me, but it seems that code
> was designed to only be used by Thomas, so let's cc him and ask.
>
> Thomas, could we have some nice code comments please, so that random
> kernel developers don't need to go and reverse engineer the
> debugobjects design before they can work out what they did wrong?
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.....
Admittedly I don't know either the debugobject code or the mpt code,
but when the timer is on the stack and we have an "init when the timer
is on the stack" it seemed like an easy enough fix.
[-- Attachment #2: tmp.patch --]
[-- Type: application/octet-stream, Size: 561 bytes --]
drivers/message/fusion/mptbase.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index c4e8b9a..e188cc9 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -5902,7 +5902,7 @@ mpt_config(MPT_ADAPTER *ioc, CONFIGPARMS *pCfg)
/* 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;
next prev parent reply other threads:[~2009-01-05 16:45 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200812310006.mBV060iV029753@imap1.linux-foundation.org>
2008-12-31 3:51 ` mmotm 2008-12-30-16-05 uploaded (mtd) Randy Dunlap
2008-12-31 3:59 ` mmotm 2008-12-30-16-05 uploaded (mmc) Randy Dunlap
2008-12-31 18:07 ` Pierre Ossman
2008-12-31 18:48 ` Rafael J. Wysocki
2008-12-31 4:07 ` [PATCH mmotm] input: fix function arg list Randy Dunlap
2008-12-31 4:21 ` [PATCH] spi.h uses/needs device.h Randy Dunlap
2009-01-01 21:58 ` Guennadi Liakhovetski
2008-12-31 6:26 ` [PATCH mmotm] leds-dac124s085: use header files for interfaces Randy Dunlap
2008-12-31 14:42 ` [PATCH for mmotm1230] acpi: fix unused variable warnings KOSAKI Motohiro
2008-12-31 14:45 ` [PATCH for mmotm1230] input: fix incomplete prototype of input_init_abs_bypass() KOSAKI Motohiro
2009-01-01 1:51 ` [mmotm 2008-12-30-16-05] Warning at MPT driver initialization Tetsuo Handa
2009-01-01 2:26 ` Andrew Morton
2009-01-05 16:45 ` Eric Paris [this message]
2009-01-12 22:19 ` Andrew Morton
2009-01-01 20:51 ` mmotm 2008-12-30-16-05 uploaded Valdis.Kletnieks
2009-01-02 2:31 ` Andrew Morton
2009-01-02 2:42 ` Valdis.Kletnieks
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7e0fb38c0901050845u3140d2c5iac7ab6c269fc5ec7@mail.gmail.com \
--to=eparis@parisplace.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®