Recent qla2xxx changes

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

 



Hi Himanshu,

If I boot and install commit 1a61e5486aeb from Martin's tree ("scsi: lpfc: add
support for posting FC events on FPIN reception"; that's before my changes went
in) then a kernel oops appears if I try to enable target mode. This does not
happen with Linus' master tree so it must have been introduced by one of the
QLogic patches queued for the v5.2 merge window. Can you have a look?

Thanks,

Bart.

qla2xxx [0000:00:00.0]-0005: : QLogic Fibre Channel HBA Driver: 10.01.00.16-k.
qla2xxx [0000:00:0b.0]-001d: : Found an ISP2532 irq 11 iobase 0x0000000000f47f03.
qla2xxx [0000:00:0b.0]-00cd:8: ISP Firmware failed checksum.
qla2xxx [0000:00:0b.0]-00cf:8: Setup chip ****FAILED****.
qla2xxx [0000:00:0b.0]-00d6:8: Failed to initialize adapter - Adapter flags 2.
==================================================================
BUG: KASAN: use-after-free in __list_del_entry_valid+0x15/0xd0
Read of size 8 at addr ffff8880ca05a490 by task modprobe/857

CPU: 0 PID: 857 Comm: modprobe Not tainted 5.1.0-rc1-dbg+ #4
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
Call Trace:
 dump_stack+0x86/0xca
 print_address_description+0x6c/0x234
 ? __list_del_entry_valid+0x15/0xd0
 kasan_report.cold.3+0x1b/0x34
 ? __list_del_entry_valid+0x15/0xd0
 ? __kmem_cache_shutdown.cold.95+0xf5/0x176
 ? __list_del_entry_valid+0x15/0xd0
 __asan_load8+0x54/0x90
 __list_del_entry_valid+0x15/0xd0
 dma_pool_destroy+0x4f/0x260
 ? dma_free_attrs+0xb4/0xd0
 qla2x00_mem_free+0x529/0xcc0 [qla2xxx]
 ? kobject_put+0xdb/0x230
 qla2x00_probe_one+0x2b5e/0x45f0 [qla2xxx]
 ? qla2xxx_pci_error_detected+0x210/0x210 [qla2xxx]
 ? match_held_lock+0x20/0x240
 ? find_held_lock+0xca/0xf0
 ? mark_held_locks+0x86/0xb0
 ? _raw_spin_unlock_irqrestore+0x52/0x60
 ? __pm_runtime_resume+0x5b/0xb0
 ? lockdep_hardirqs_on+0x185/0x260
 ? _raw_spin_unlock_irqrestore+0x52/0x60
 ? trace_hardirqs_on+0x24/0x130
 ? preempt_count_sub+0x13/0xc0
 ? _raw_spin_unlock_irqrestore+0x3d/0x60
 pci_device_probe+0x154/0x1e0
 really_probe+0x17d/0x540
 ? device_driver_attach+0x90/0x90
 driver_probe_device+0x113/0x170
 ? device_driver_attach+0x90/0x90
 device_driver_attach+0x88/0x90
 __driver_attach+0xb5/0x190
 bus_for_each_dev+0xf8/0x160
 ? subsys_dev_iter_exit+0x10/0x10
 ? kasan_check_read+0x11/0x20
 ? preempt_count_sub+0x13/0xc0
 ? _raw_spin_unlock+0x2c/0x50
 driver_attach+0x26/0x30
 bus_add_driver+0x238/0x2f0
 driver_register+0xd7/0x150
 __pci_register_driver+0xd5/0xe0
 ? 0xffffffffa06c8000
 qla2x00_module_init+0x208/0x254 [qla2xxx]
 do_one_initcall+0xc0/0x3c9
 ? trace_event_raw_event_initcall_finish+0x150/0x150
 ? __kasan_kmalloc.constprop.5+0xc7/0xd0
 ? kasan_unpoison_shadow+0x35/0x50
 ? kasan_poison_shadow+0x2f/0x40
 ? __asan_register_globals+0x5a/0x70
 do_init_module+0x103/0x330
 load_module+0x36df/0x3b70
 ? fsnotify+0x611/0x640
 ? module_frob_arch_sections+0x20/0x20
 ? kernel_read+0x74/0xa0
 ? kasan_check_write+0x14/0x20
 ? kernel_read_file+0x25e/0x320
 ? do_mmap+0x42c/0x6c0
 __do_sys_finit_module+0x133/0x1c0
 ? __do_sys_finit_module+0x133/0x1c0
 ? __do_sys_init_module+0x210/0x210
 ? fput_many+0x1b/0xc0
 ? fput+0xe/0x10
 ? do_syscall_64+0x14/0x210
 ? entry_SYSCALL_64_after_hwframe+0x49/0xbe
 __x64_sys_finit_module+0x3e/0x50
 do_syscall_64+0x72/0x210
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f8bd5c03219
Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 47 fc 0c 00 f7 d8 64 89 01 48
RSP: 002b:00007fff9d11de98 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
RAX: ffffffffffffffda RBX: 000055ef21596b50 RCX: 00007f8bd5c03219
RDX: 0000000000000000 RSI: 000055ef21596570 RDI: 0000000000000004
RBP: 000055ef21596570 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000004 R11: 0000000000000246 R12: 0000000000000000
R13: 000055ef21596c80 R14: 0000000000040000 R15: 000055ef21596b50

Allocated by task 857:
 save_stack+0x43/0xd0
 __kasan_kmalloc.constprop.5+0xc7/0xd0
 kasan_kmalloc+0x9/0x10
 kmem_cache_alloc_trace+0x144/0x300
 dma_pool_create+0xb5/0x3b0
 qla2x00_mem_alloc+0xb98/0x1ad0 [qla2xxx]
 qla2x00_probe_one+0xe28/0x45f0 [qla2xxx]
 pci_device_probe+0x154/0x1e0
 really_probe+0x17d/0x540
 driver_probe_device+0x113/0x170
 device_driver_attach+0x88/0x90
 __driver_attach+0xb5/0x190
 bus_for_each_dev+0xf8/0x160
 driver_attach+0x26/0x30
 bus_add_driver+0x238/0x2f0
 driver_register+0xd7/0x150
 __pci_register_driver+0xd5/0xe0
 qla2x00_module_init+0x208/0x254 [qla2xxx]
 do_one_initcall+0xc0/0x3c9
 do_init_module+0x103/0x330
 load_module+0x36df/0x3b70
 __do_sys_finit_module+0x133/0x1c0
 __x64_sys_finit_module+0x3e/0x50
 do_syscall_64+0x72/0x210
 entry_SYSCALL_64_after_hwframe+0x49/0xbe

Freed by task 857:
 save_stack+0x43/0xd0
 __kasan_slab_free+0x139/0x190
 kasan_slab_free+0xe/0x10
 kfree+0xf0/0x2c0
 dma_pool_destroy+0x24c/0x260
 qla2x00_mem_free+0x529/0xcc0 [qla2xxx]
 qla2x00_free_device+0x167/0x1b0 [qla2xxx]
 qla2x00_probe_one+0x2b28/0x45f0 [qla2xxx]
 pci_device_probe+0x154/0x1e0
 really_probe+0x17d/0x540
 driver_probe_device+0x113/0x170
 device_driver_attach+0x88/0x90
 __driver_attach+0xb5/0x190
 bus_for_each_dev+0xf8/0x160
 driver_attach+0x26/0x30
 bus_add_driver+0x238/0x2f0
 driver_register+0xd7/0x150
 __pci_register_driver+0xd5/0xe0
 qla2x00_module_init+0x208/0x254 [qla2xxx]
 do_one_initcall+0xc0/0x3c9
 do_init_module+0x103/0x330
 load_module+0x36df/0x3b70
 __do_sys_finit_module+0x133/0x1c0
 __x64_sys_finit_module+0x3e/0x50
 do_syscall_64+0x72/0x210
 entry_SYSCALL_64_after_hwframe+0x49/0xbe

The buggy address belongs to the object at ffff8880ca05a400
 which belongs to the cache kmalloc-192 of size 192
The buggy address is located 144 bytes inside of
 192-byte region [ffff8880ca05a400, ffff8880ca05a4c0)
The buggy address belongs to the page:
page:ffffea0003281680 count:1 mapcount:0 mapping:ffff88811bf03380 index:0x0 compound_mapcount: 0
flags: 0x4000000000010200(slab|head)
raw: 4000000000010200 0000000000000000 0000000c00000001 ffff88811bf03380
raw: 0000000000000000 0000000080200020 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff8880ca05a380: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
 ffff8880ca05a400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff8880ca05a480: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
                         ^
 ffff8880ca05a500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff8880ca05a580: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc
==================================================================



[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