public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* aic7xxx kobject crap
@ 2004-04-27 14:14 Jens Axboe
  2004-04-27 16:03 ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2004-04-27 14:14 UTC (permalink / raw)
  To: linux-scsi; +Cc: greg, Justin T. Gibbs

Hi,

I've given up trying to follow the kobject stuff going on in the driver
model, it's just one big maze of container_of() and foo_get() functions.
Loading the aic7xxx module gives a nice oops:

Oops: 0002 [#1] 
CPU:    0 
EIP:    0060:[<c01da5f6>]    Not tainted 
EFLAGS: 00010292   (2.6.5-5-default)  
EIP is at kobject_add+0x66/0x130 
eax: c034bd20   ebx: e127307c   ecx: e129aed8   edx: e1273098 
esi: e1273080   edi: e1273064   ebp: c034bd28   esp: df273db0 
ds: 007b   es: 007b   ss: 0068 
Process insmod (pid: 378, threadinfo=df272000 task=df274130) 
Stack: e127307c ffffffea e1273064 00000000 c01da749 e127307c c034bcc0
c021f64f  
       e127307c e1264498 e1273040 00000000 e12730d8 c0341db8 c021fad8
c0342484  
       00000010 c1020000 c0342478 c01e378b c0341dc8 00000000 c0341db8
e12614ca  
Call Trace: 
 [<c01da749>] kobject_register+0x19/0x3f 
 [<c021f64f>] bus_add_driver+0x2f/0x80 
 [<c021fad8>] driver_register+0x28/0x30 
 [<c01e378b>] pci_register_driver+0x4b/0x80 
 [<e12614ca>] ahc_linux_pci_init+0xa/0x990 [aic7xxx] 
 [<e10f919c>] ahc_linux_init+0x19c/0x29b [aic7xxx] 
 [<c013cfe0>] free_hot_cold_page+0xd0/0xf0 
 [<c0131ab5>] sys_init_module+0x105/0x15b0 
 [<c01234a0>] __request_region+0x0/0x80 
 [<e10f9000>] ahc_linux_init+0x0/0x29b [aic7xxx] 
 [<c014dd17>] do_shmem_file_read+0x227/0x2e0 
 [<c014de89>] shmem_file_read+0x69/0x80 
 [<c0138560>] file_read_actor+0x0/0xe0 
 [<c014de20>] shmem_file_read+0x0/0x80 
 [<c015538e>] __fput+0x9e/0xf0 
 [<c0107e27>] syscall_call+0x7/0xb 
 
Code: 89 11 8b 43 28 8b 30 8d 4e 48 89 c8 ba ff ff 00 00 0f c1 10  

tracing this, we end up in list_add_tail() in kobject_add() add:

	list_add_tail(&kobj->entry,&kobj->kset->list);

and oops occurs when __list_add() derefs kobj->kset->list.prev since
that is NULL, ie it was never initialized. It looks like kset_init()
sets this up, apparently that was never called for this kset.

-- 
Jens Axboe


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

* Re: aic7xxx kobject crap
  2004-04-27 14:14 aic7xxx kobject crap Jens Axboe
@ 2004-04-27 16:03 ` Greg KH
  2004-04-27 16:07   ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2004-04-27 16:03 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-scsi, Justin T. Gibbs

On Tue, Apr 27, 2004 at 04:14:01PM +0200, Jens Axboe wrote:
> Hi,
> 
> I've given up trying to follow the kobject stuff going on in the driver
> model, it's just one big maze of container_of() and foo_get() functions.
> Loading the aic7xxx module gives a nice oops:

That's wierd, I'll go try to duplicate it.  Had you previously loaded
and then unloaded the same module?  Do you have a aic7xxx device in the
system at the time you loaded it?  Any other hints on how to duplicate
it?

thanks,

greg k-h

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

* Re: aic7xxx kobject crap
  2004-04-27 16:03 ` Greg KH
@ 2004-04-27 16:07   ` Jens Axboe
  2004-04-27 16:22     ` James Bottomley
  0 siblings, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2004-04-27 16:07 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-scsi, Justin T. Gibbs

On Tue, Apr 27 2004, Greg KH wrote:
> On Tue, Apr 27, 2004 at 04:14:01PM +0200, Jens Axboe wrote:
> > Hi,
> > 
> > I've given up trying to follow the kobject stuff going on in the driver
> > model, it's just one big maze of container_of() and foo_get() functions.
> > Loading the aic7xxx module gives a nice oops:
> 
> That's wierd, I'll go try to duplicate it.  Had you previously loaded
> and then unloaded the same module?  Do you have a aic7xxx device in the
> system at the time you loaded it?  Any other hints on how to duplicate
> it?

I wish I could say more, I'll have to ask to get more info. All I know
is that it happens during install. So my current assumption is that it
happens the very first time the module is loaded, and the machine does
have some sort of aic7xxx device attached (or onboard). I'll get
confirmation on that.

-- 
Jens Axboe


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

* Re: aic7xxx kobject crap
  2004-04-27 16:07   ` Jens Axboe
@ 2004-04-27 16:22     ` James Bottomley
  2004-04-27 17:09       ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: James Bottomley @ 2004-04-27 16:22 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Greg KH, SCSI Mailing List, Justin T. Gibbs

On Tue, 2004-04-27 at 11:07, Jens Axboe wrote:
> I wish I could say more, I'll have to ask to get more info. All I know
> is that it happens during install. So my current assumption is that it
> happens the very first time the module is loaded, and the machine does
> have some sort of aic7xxx device attached (or onboard). I'll get
> confirmation on that.

Actually, there's already a report of a kobject screw up in aic7xxx if
the module is loaded with no hardware present:

http://marc.theaimsgroup.com/?t=107754715800005&r=1&w=2

There's also a patch here if it is the reported problem:

http://marc.theaimsgroup.com/?l=linux-scsi&m=107760949410870&w=2

James



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

* Re: aic7xxx kobject crap
  2004-04-27 16:22     ` James Bottomley
@ 2004-04-27 17:09       ` Jens Axboe
  0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2004-04-27 17:09 UTC (permalink / raw)
  To: James Bottomley; +Cc: Greg KH, SCSI Mailing List, Justin T. Gibbs

On Tue, Apr 27 2004, James Bottomley wrote:
> On Tue, 2004-04-27 at 11:07, Jens Axboe wrote:
> > I wish I could say more, I'll have to ask to get more info. All I know
> > is that it happens during install. So my current assumption is that it
> > happens the very first time the module is loaded, and the machine does
> > have some sort of aic7xxx device attached (or onboard). I'll get
> > confirmation on that.
> 
> Actually, there's already a report of a kobject screw up in aic7xxx if
> the module is loaded with no hardware present:
> 
> http://marc.theaimsgroup.com/?t=107754715800005&r=1&w=2
> 
> There's also a patch here if it is the reported problem:
> 
> http://marc.theaimsgroup.com/?l=linux-scsi&m=107760949410870&w=2

The post you link to is one where kobject_unregister() craps out, my
post was for loading. The 'fix' appears to just keep the module loaded,
I don't think that'll do much here :-)

-- 
Jens Axboe


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

end of thread, other threads:[~2004-04-27 17:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-27 14:14 aic7xxx kobject crap Jens Axboe
2004-04-27 16:03 ` Greg KH
2004-04-27 16:07   ` Jens Axboe
2004-04-27 16:22     ` James Bottomley
2004-04-27 17:09       ` Jens Axboe

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