Re: list debugging BUG() hit by aic94xx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The list seems to be guarded by a spin lock while adding items to the
list. I don't see holding such a lock while removing list items. There
is some code that goes through the list without any lock either. Most of
it is single threaded, except the work queue thread (scsi_wq) and the
unload thread when we unload the driver could race.

It is quite possible that I just mis-understood this whole thing.

Thanks, Malahal.

James Bottomley [James.Bottomley@xxxxxxxxxxxx] wrote:
> If someone is bored, they can take a look at this list debug error:
> 
> list_add corruption. prev->next should be dfa0b788, but was f795fd50
> ------------[ cut here ]------------
> kernel BUG at lib/list_debug.c:31!
> invalid opcode: 0000 [#1]
> SMP 
> Modules linked in: aic94xx libsas firmware_class scsi_transport_sas sd_mod scsi_transport_spi scsi_mod
> CPU:    0
> EIP:    0060:[<c01df32e>]    Not tainted VLI
> EFLAGS: 00010286   (2.6.18 #14)
> EIP is at __list_add+0x6e/0x80
> eax: 00000048   ebx: dfa0b788   ecx: 00000003   edx: 00000008
> esi: f7929bb8   edi: dfaa2888   ebp: dfeabeec   esp: dfeabed4
> ds: 007b   es: 007b   ss: 0068
> Process scsi_wq_0 (pid: 872, ti=dfeaa000 task=dfe60030 task.ti=dfeaa000)
> Stack: c030a7b8 dfa0b788 f795fd50 dfa0b76c dfaa2864 00000000 dfeabf30 f884458d 
>        dfaa2888 f7929bb8 dfa0b788 00000001 c0114da0 dfaefd24 dfa2c2f0 dfa088f4 
>        00000286 dfa08ae4 dfa0b7ec dfaa2864 dfa0b6b8 dfa0b6bc dfaefd24 dfeabf64 
> Call Trace:
>  [<f884458d>] sas_discover_domain+0x2ed/0x4c0 [libsas]
>  [<c012d3bf>] run_workqueue+0x7f/0x100
>  [<c012dca8>] worker_thread+0x148/0x170
>  [<c0130c2d>] kthread+0xfd/0x110
>  [<c0103e33>] kernel_thread_helper+0x7/0x14
>  =======================
> Code: 08 c7 04 24 78 a7 30 c0 e8 c0 e1 f3 ff 0f 0b 1a 00 77 a2 30 c0 eb c5 89 5c 24 04 89 44 24 08 c7 04 24 b8 a7 30 c0 e8 a2 e1 f3 ff <0f> 0b 1f 00 77 a2 30 c0 eb ad 90 8d b4 26 00 00 00 00 55 89 e5 
> EIP: [<c01df32e>] __list_add+0x6e/0x80 SS:ESP 0068:dfeabed4
> 
> This seems to be coming from the
> 
> 	list_add_tail(&dev->dev_list_node, &port->dev_list);
> 
> in sas_get_port_device()
> 
> James
> 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux