From: Arne R. <arn...@go...> - 2011-09-12 16:45:37
|
Shivaram, Nice catch. I ran into it last night as well while testing the PR code, and my fix changes the assert. I'll push it tonight to trunk. Thanks nevertheless, Arne Am 12.09.2011 17:37 schrieb "Shivaram Upadhyayula" <shi...@qu... >: > Hi, > > While testing with trunk and vsphere 5 i came across the following > assertion. It seems that in build_inquiry_response() if a certain evpd > page is not handled tio is set to NULL which causes the assertion > failure and a null deref later on in send_data_rsp(). ESXi sends > inquiry commands for block limits vpd page and block device > characteristics vpd page. > Attached is a patch which fixes the problem. The patch basically > allocates a tio at all times and sets the length and offset to zero on > a sense condition. But maybe the fix should go for the assertion in > send_data_rsp() rather than in build_inquiry_response(). I'm not sure > > Cheers, > Shivaram > > ***** Start of trace ***** > audit(1315407818.094:52): audit_pid=0 old=11857 by auid=4294967295 > iSCSI Enterprise Target Software - version trunk > iSCSI Enterprise Target Software - version trunk > iscsi_trgt: BUG at /home/scache/iettrunk/trunk/kernel/iscsi.c:392 > assert(req->tio) > Pid: 3680, comm: istiod1 Not tainted 2.6.35 #2 > Call Trace: > [<ffffffffa031b27b>] ? send_data_rsp+0x43/0x231 [iscsi_trgt] > [<ffffffff812fb44e>] ? schedule+0x616/0x6c4 > [<ffffffffa031d085>] ? worker_thread+0x0/0x213 [iscsi_trgt] > [<ffffffffa0320441>] ? disk_execute_cmnd+0x1f4/0x25a [iscsi_trgt] > [<ffffffffa031d196>] ? worker_thread+0x111/0x213 [iscsi_trgt] > [<ffffffff8102fc8c>] ? default_wake_function+0x0/0x9 > [<ffffffffa031d085>] ? worker_thread+0x0/0x213 [iscsi_trgt] > [<ffffffff8104f7a7>] ? kthread+0x79/0x81 > [<ffffffff81003614>] ? kernel_thread_helper+0x4/0x10 > [<ffffffff8104f72e>] ? kthread+0x0/0x81 > [<ffffffff81003610>] ? kernel_thread_helper+0x0/0x10 > ------------[ cut here ]------------ > kernel BUG at /home/scache/iettrunk/trunk/kernel/iscsi.c:392! > invalid opcode: 0000 [#1] SMP > last sysfs file: /sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map > CPU 1 > Modules linked in: iscsi_trgt md5 netconsole autofs4 dm_mirror > dm_multipath scsi_dh video output sbs sbshc power_meter battery > acpi_memhotplug ac ipv6 parport_pc lp parport e1000e qla2xxx > scsi_transport_fc sg option usb_wwan usbserial button serio_raw > tpm_tis tpm tpm_bios shpchp rtc_cmos rtc_core rtc_lib i2c_i801 > i2c_core i5k_amb pcspkr hwmon i5000_edac edac_core dm_region_hash > dm_log dm_mod ata_piix libata sd_mod scsi_mod ext3 jbd uhci_hcd > ohci_hcd ehci_hcd [last unloaded: iscsi_trgt] > > Pid: 3680, comm: istiod1 Not tainted 2.6.35 #2 S5000VSA/S5000VSA > RIP: 0010:[<ffffffffa031b27b>] [<ffffffffa031b27b>] > send_data_rsp+0x43/0x231 [iscsi_trgt] > RSP: 0018:ffff880065595e10 EFLAGS: 00010286 > RAX: 0000000000000000 RBX: ffff88006264a000 RCX: 000000000000a713 > RDX: 0000000000000000 RSI: 0000000000000046 RDI: ffff880065595f58 > RBP: ffff880065499de8 R08: 0000000000000000 R09: ffff88007e4a8d40 > R10: 0000000000000000 R11: 0000000000000000 R12: ffff880065499e20 > R13: ffffffffa031d085 R14: 0000000000000000 R15: 0000000000000000 > FS: 0000000000000000(0000) GS:ffff880001e40000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b > CR2: 00007f9849977000 CR3: 000000007bad5000 CR4: 00000000000006e0 > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > Process istiod1 (pid: 3680, threadinfo ffff880065594000, task ffff88006254b780) > Stack: > ffff88006254b780 0000000000000000 ffff88007dde47c0 ffffffff812fb44e > <0> ffff88007f7f8880 0000000165595e30 ffff880065499de8 ffff88006264a000 > <0> ffff880065499de8 ffff880065499e20 ffffffffa031d085 0000000000000000 > Call Trace: > [<ffffffff812fb44e>] ? schedule+0x616/0x6c4 > [<ffffffffa031d085>] ? worker_thread+0x0/0x213 [iscsi_trgt] > [<ffffffffa0320441>] ? disk_execute_cmnd+0x1f4/0x25a [iscsi_trgt] > [<ffffffffa031d196>] ? worker_thread+0x111/0x213 [iscsi_trgt] > [<ffffffff8102fc8c>] ? default_wake_function+0x0/0x9 > [<ffffffffa031d085>] ? worker_thread+0x0/0x213 [iscsi_trgt] > [<ffffffff8104f7a7>] ? kthread+0x79/0x81 > [<ffffffff81003614>] ? kernel_thread_helper+0x4/0x10 > [<ffffffff8104f72e>] ? kthread+0x0/0x81 > [<ffffffff81003610>] ? kernel_thread_helper+0x0/0x10 > Code: 00 00 48 85 c0 75 28 48 c7 c1 25 38 32 a0 ba 88 01 00 00 48 c7 > c6 66 34 32 a0 48 c7 c7 91 34 32 a0 a1 e0 36 <0f> fe 8b e8 ff a0 00 > RIP ---[ end trace 5bc5c470af306e61 ]--- > iscsi_trgt: Abort Task (01) issued on tid:1 lun:0 by > sid:282574492336640 (Function Complete) > > -- > Reduce Storage expenditure with QUADStor Storage Virtualization > http://www.quadstor.com |