1. 17 1月, 2018 1 次提交
    • H
      scsi: qla2xxx: Fix NULL pointer crash due to probe failure · d64d6c56
      himanshu.madhani@cavium.com 提交于
      This patch fixes regression added by commit d7459527
      ("scsi: qla2xxx: Add multiple queue pair functionality.").
      
      When driver is not able to get reqeusted IRQs from the system, driver will
      attempt tp clean up memory before failing hardware probe. During this cleanup,
      driver assigns NULL value to the pointer which has not been allocated by
      driver yet. This results in a NULL pointer access.
      
      Log file will show following message and stack trace
      
      qla2xxx [0000:a3:00.1]-00c7:21: MSI-X: Failed to enable support, giving up -- 32/-1.
      qla2xxx [0000:a3:00.1]-0037:21: Falling back-to MSI mode --1.
      qla2xxx [0000:a3:00.1]-003a:21: Failed to reserve interrupt 821 already in use.
      BUG: unable to handle kernel NULL pointer dereference at (null)
      IP: [<ffffffffc010c4b6>] qla2x00_probe_one+0x18b6/0x2730 [qla2xxx]
      PGD 0
      Oops: 0002 [#1] SMP
      
      Fixes: d7459527 ("scsi: qla2xxx: Add multiple queue pair functionality.").
      Cc: <stable@vger.kernel.org> # 4.10
      Signed-off-by: NHimanshu Madhani <himanshu.madhani@cavium.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      d64d6c56
  2. 04 1月, 2018 13 次提交
  3. 08 12月, 2017 6 次提交
  4. 09 11月, 2017 1 次提交
  5. 07 11月, 2017 1 次提交
    • B
      scsi: qla2xxx: Suppress a kernel complaint in qla_init_base_qpair() · 86531887
      Bart Van Assche 提交于
      Avoid that the following is reported while loading the qla2xxx
      kernel module:
      
      BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/783
      caller is debug_smp_processor_id+0x17/0x20
      CPU: 7 PID: 783 Comm: modprobe Not tainted 4.14.0-rc8-dbg+ #2
      Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
      Call Trace:
       dump_stack+0x8e/0xce
       check_preemption_disabled+0xe3/0xf0
       debug_smp_processor_id+0x17/0x20
       qla2x00_probe_one+0xf43/0x26c0 [qla2xxx]
       pci_device_probe+0xca/0x140
       driver_probe_device+0x2e2/0x440
       __driver_attach+0xa3/0xe0
       bus_for_each_dev+0x5f/0x90
       driver_attach+0x19/0x20
       bus_add_driver+0x1c0/0x260
       driver_register+0x5b/0xd0
       __pci_register_driver+0x63/0x70
       qla2x00_module_init+0x1d6/0x222 [qla2xxx]
       do_one_initcall+0x3c/0x163
       do_init_module+0x55/0x1eb
       load_module+0x20a2/0x2890
       SYSC_finit_module+0xd7/0xf0
       SyS_finit_module+0x9/0x10
       entry_SYSCALL_64_fastpath+0x23/0xc2
      
      Fixes: commit 8abfa9e2 ("scsi: qla2xxx: Add function call to qpair for door bell")
      Signed-off-by: NBart Van Assche <bart.vanassche@wdc.com>
      Cc: Quinn Tran <quinn.tran@cavium.com>
      Cc: Himanshu Madhani <himanshu.madhani@cavium.com>
      Cc: <stable@vger.kernel.org>
      Acked-by: NHimanshu Madhani <himanshu.madhani@cavium.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      86531887
  6. 31 10月, 2017 1 次提交
  7. 17 10月, 2017 4 次提交
  8. 12 10月, 2017 1 次提交
    • Q
      scsi: qla2xxx: Fix uninitialized work element · a9e170e2
      Quinn Tran 提交于
      Fixes following stack trace
      
      kernel: Call Trace:
      kernel: dump_stack+0x63/0x84
      kernel: __warn+0xd1/0xf0
      kernel: warn_slowpath_null+0x1d/0x20
      kernel: __queue_work+0x37a/0x420
      kernel: queue_work_on+0x27/0x40
      kernel: queue_work+0x14/0x20 [qla2xxx]
      kernel: schedule_work+0x13/0x20 [qla2xxx]
      kernel: qla2x00_post_work+0xab/0xb0 [qla2xxx]
      kernel: qla2x00_post_aen_work+0x3b/0x50 [qla2xxx]
      kernel: qla2x00_async_event+0x20d/0x15d0 [qla2xxx]
      kernel: ? lock_timer_base+0x7d/0xa0
      kernel: qla24xx_intr_handler+0x1da/0x310 [qla2xxx]
      kernel: qla2x00_poll+0x36/0x60 [qla2xxx]
      kernel: qla2x00_mailbox_command+0x659/0xec0 [qla2xxx]
      kernel: ? proc_create_data+0x7a/0xd0
      kernel: qla25xx_init_rsp_que+0x15b/0x240 [qla2xxx]
      kernel: ? request_irq+0x14/0x20 [qla2xxx]
      kernel: qla25xx_create_rsp_que+0x256/0x3c0 [qla2xxx]
      kernel: qla2xxx_create_qpair+0x2af/0x5b0 [qla2xxx]
      kernel: qla2x00_probe_one+0x1107/0x1c30 [qla2xxx]
      
      Fixes: ec7193e2 ("qla2xxx: Fix delayed response to command for loop mode/direct connect.")
      Cc: <stable@vger.kernel.org> # 4.13
      Signed-off-by: NQuinn Tran <quinn.tran@cavium.com>
      Signed-off-by: NHimanshu Madhani <himanshu.madhani@cavium.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      a9e170e2
  9. 31 8月, 2017 1 次提交
    • Q
      scsi: qla2xxx: Fix slow mem alloc behind lock · b5d15312
      Quinn Tran 提交于
      Call Trace:
       [<ffffffff81341687>] dump_stack+0x6b/0xa4
       [<ffffffff810c3e30>] ? print_irqtrace_events+0xd0/0xe0
       [<ffffffff8109e3c3>] ___might_sleep+0x183/0x240
       [<ffffffff8109e4d2>] __might_sleep+0x52/0x90
       [<ffffffff811fe17b>] kmem_cache_alloc_trace+0x5b/0x300
       [<ffffffff810c666b>] ? __lock_acquired+0x30b/0x420
       [<ffffffffa0733c28>] qla2x00_alloc_fcport+0x38/0x2a0 [qla2xxx]
       [<ffffffffa07217f4>] ? qla2x00_do_work+0x34/0x2b0 [qla2xxx]
       [<ffffffff816cc82b>] ? _raw_spin_lock_irqsave+0x7b/0x90
       [<ffffffffa072169a>] ? qla24xx_create_new_sess+0x3a/0x160 [qla2xxx]
       [<ffffffffa0721723>] qla24xx_create_new_sess+0xc3/0x160 [qla2xxx]
       [<ffffffff810c91ed>] ? trace_hardirqs_on+0xd/0x10
       [<ffffffffa07218f8>] qla2x00_do_work+0x138/0x2b0 [qla2xxx]
      Signed-off-by: NQuinn Tran <quinn.tran@qlogic.com>
      Signed-off-by: NHimanshu Madhani <himanshu.madhani@cavium.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      b5d15312
  10. 25 8月, 2017 10 次提交
  11. 08 8月, 2017 1 次提交