1. 13 6月, 2017 6 次提交
  2. 25 5月, 2017 1 次提交
    • S
      scsi: qla2xxx: Fix crash due to mismatch mumber of Q-pair creation for Multi queue · b95b9452
      Sawan Chandak 提交于
      when driver is loaded with Multi Queue enabled, it was noticed that
      there was one less queue pair created.
      
      Following message would indicate this:
      
      "No resources to create additional q pair."
      
      The result of one less queue pair means that system can crash, if the
      block mq layer thinks there is an extra hardware queue available, and
      the driver will use a NULL ptr qpair in that instance.
      
      Following stack trace is seen in one of the crash:
      
      irq_create_affinity_masks+0x98/0x530
      irq_create_affinity_masks+0x98/0x530
      __pci_enable_msix+0x321/0x4e0
      mutex_lock+0x12/0x40
      pci_alloc_irq_vectors_affinity+0xb5/0x140
      qla24xx_enable_msix+0x79/0x530 [qla2xxx]
      qla2x00_request_irqs+0x61/0x2d0 [qla2xxx]
      qla2x00_probe_one+0xc73/0x2390 [qla2xxx]
      ida_simple_get+0x98/0x100
      kernfs_next_descendant_post+0x40/0x50
      local_pci_probe+0x45/0xa0
      pci_device_probe+0xfc/0x140
      driver_probe_device+0x2c5/0x470
      __driver_attach+0xdd/0xe0
      driver_probe_device+0x470/0x470
      bus_for_each_dev+0x6c/0xc0
      driver_attach+0x1e/0x20
      bus_add_driver+0x45/0x270
      driver_register+0x60/0xe0
      __pci_register_driver+0x4c/0x50
      qla2x00_module_init+0x1ce/0x21e [qla2xxx]
      
      Cc: <stable@vger.kernel.org> # v4.10+
      Signed-off-by: NSawan Chandak <sawan.chandak@cavium.com>
      Signed-off-by: NHimanshu Madhani <himanshu.madhani@cavium.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      b95b9452
  3. 05 4月, 2017 1 次提交
  4. 19 3月, 2017 5 次提交
  5. 28 2月, 2017 1 次提交
  6. 19 2月, 2017 1 次提交
  7. 09 2月, 2017 5 次提交
  8. 18 1月, 2017 1 次提交
  9. 15 12月, 2016 2 次提交
  10. 16 7月, 2016 3 次提交
  11. 24 2月, 2016 5 次提交
  12. 07 2月, 2016 1 次提交
    • Q
      qla2xxx: Fix stale pointer access. · cb43285f
      Quinn Tran 提交于
      [ Upstream Commit 84e32a06 ]
      
      Commit 84e32a06 ("qla2xxx: Use pci_enable_msix_range() instead of
      pci_enable_msix()") introduced a regression when target mode is enabled.
      In qla24xx_enable_msix(), ha->max_rsp_queues was incorrectly set
      to a value higher than the number of response queues allocated causing
      an invalid dereference. Specifically here in qla2x00_init_rings():
          *rsp->in_ptr = 0;
      
      Add additional check to make sure the pointer is valid. following
      call stack will be seen
      
      ---- 8< ----
      RIP: 0010:[<ffffffffa02ccadc>]  [<ffffffffa02ccadc>] qla2x00_init_rings+0xdc/0x320 [qla2xxx]
      RSP: 0018:ffff880429447dd8  EFLAGS: 00010082
      ....
      Call Trace:
      [<ffffffffa02ceb40>] qla2x00_abort_isp+0x170/0x6b0 [qla2xxx]
      [<ffffffffa02c6f77>] qla2x00_do_dpc+0x357/0x7f0 [qla2xxx]
      [<ffffffffa02c6c20>] ? qla2x00_relogin+0x260/0x260 [qla2xxx]
      [<ffffffff8107d2c9>] kthread+0xc9/0xe0
      [<ffffffff8107d200>] ? flush_kthread_worker+0x90/0x90
      [<ffffffff8172cc6f>] ret_from_fork+0x3f/0x70
      [<ffffffff8107d200>] ? flush_kthread_worker+0x90/0x90
      ---- 8< ----
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NQuinn Tran <quinn.tran@qlogic.com>
      Signed-off-by: NHimanshu Madhani <himanshu.madhani@qlogic.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      cb43285f
  13. 08 1月, 2016 5 次提交
  14. 27 8月, 2015 3 次提交