1. 31 8月, 2017 1 次提交
  2. 25 8月, 2017 2 次提交
  3. 02 7月, 2017 1 次提交
  4. 28 6月, 2017 2 次提交
  5. 13 6月, 2017 1 次提交
  6. 05 4月, 2017 1 次提交
  7. 19 3月, 2017 1 次提交
  8. 09 2月, 2017 1 次提交
    • Q
      qla2xxx: Add framework for async fabric discovery · 726b8548
      Quinn Tran 提交于
      Currently code performs a full scan of the fabric for
      every RSCN. Its an expensive process in a noisy large SAN.
      
      This patch optimizes expensive fabric discovery process by
      scanning switch for the affected port when RSCN is received.
      
      Currently Initiator Mode code makes login/logout decision without
      knowledge of target mode. This causes driver and firmware to go
      out-of-sync. This framework synchronizes both initiator mode
      personality and target mode personality in making login/logout
      decision.
      
      This patch adds following capabilities in the driver
      
      - Send Notification Acknowledgement asynchronously.
      - Update session/fcport state asynchronously.
      - Create a session or fcport struct asynchronously.
      - Send GNL asynchronously. The command will ask FW to
        provide a list of FC Port entries FW knows about.
      - Send GPDB asynchronously. The command will ask FW to
        provide detail data of an FC Port FW knows about or
        perform ADISC to verify the state of the session.
      - Send GPNID asynchronously. The command will ask switch
        to provide WWPN for provided NPort ID.
      - Send GPSC asynchronously. The command will ask switch
        to provide registered port speed for provided WWPN.
      - Send GIDPN asynchronously. The command will ask the
        switch to provide Nport ID for provided WWPN.
      - In driver unload path, schedule all session for deletion
        and wait for deletion to complete before allowing driver
        unload to proceed.
      Signed-off-by: NQuinn Tran <quinn.tran@cavium.com>
      Signed-off-by: NHimanshu Madhani <himanshu.madhani@cavium.com>
      [ bvanassche: fixed spelling in patch description ]
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      726b8548
  9. 18 1月, 2017 1 次提交
  10. 10 1月, 2017 1 次提交
    • M
      scsi: qla2xxx: Get mutex lock before checking optrom_state · c7702b8c
      Milan P. Gandhi 提交于
      There is a race condition with qla2xxx optrom functions where one thread
      might modify optrom buffer, optrom_state while other thread is still
      reading from it.
      
      In couple of crashes, it was found that we had successfully passed the
      following 'if' check where we confirm optrom_state to be
      QLA_SREADING. But by the time we acquired mutex lock to proceed with
      memory_read_from_buffer function, some other thread/process had already
      modified that option rom buffer and optrom_state from QLA_SREADING to
      QLA_SWAITING. Then we got ha->optrom_buffer 0x0 and crashed the system:
      
              if (ha->optrom_state != QLA_SREADING)
                      return 0;
      
              mutex_lock(&ha->optrom_mutex);
              rval = memory_read_from_buffer(buf, count, &off, ha->optrom_buffer,
                  ha->optrom_region_size);
              mutex_unlock(&ha->optrom_mutex);
      
      With current optrom function we get following crash due to a race
      condition:
      
      [ 1479.466679] BUG: unable to handle kernel NULL pointer dereference at           (null)
      [ 1479.466707] IP: [<ffffffff81326756>] memcpy+0x6/0x110
      [...]
      [ 1479.473673] Call Trace:
      [ 1479.474296]  [<ffffffff81225cbc>] ? memory_read_from_buffer+0x3c/0x60
      [ 1479.474941]  [<ffffffffa01574dc>] qla2x00_sysfs_read_optrom+0x9c/0xc0 [qla2xxx]
      [ 1479.475571]  [<ffffffff8127e76b>] read+0xdb/0x1f0
      [ 1479.476206]  [<ffffffff811fdf9e>] vfs_read+0x9e/0x170
      [ 1479.476839]  [<ffffffff811feb6f>] SyS_read+0x7f/0xe0
      [ 1479.477466]  [<ffffffff816964c9>] system_call_fastpath+0x16/0x1b
      
      Below patch modifies qla2x00_sysfs_read_optrom,
      qla2x00_sysfs_write_optrom functions to get the mutex_lock before
      checking ha->optrom_state to avoid similar crashes.
      
      The patch was applied and tested and same crashes were no longer
      observed again.
      Tested-by: NMilan P. Gandhi <mgandhi@redhat.com>
      Signed-off-by: NMilan P. Gandhi <mgandhi@redhat.com>
      Reviewed-by: NLaurence Oberman <loberman@redhat.com>
      Acked-by: NHimanshu Madhani <himanshu.madhani@cavium.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      c7702b8c
  11. 15 12月, 2016 1 次提交
  12. 16 7月, 2016 4 次提交
  13. 24 2月, 2016 3 次提交
  14. 08 1月, 2016 1 次提交
  15. 27 8月, 2015 3 次提交
  16. 25 7月, 2015 1 次提交
  17. 25 9月, 2014 4 次提交
  18. 19 5月, 2014 3 次提交
  19. 20 3月, 2014 1 次提交
  20. 16 3月, 2014 3 次提交
  21. 19 1月, 2014 1 次提交
  22. 19 12月, 2013 3 次提交