1. 03 9月, 2013 6 次提交
  2. 24 8月, 2013 1 次提交
  3. 23 7月, 2013 1 次提交
  4. 09 7月, 2013 16 次提交
  5. 08 7月, 2013 1 次提交
  6. 21 6月, 2013 1 次提交
    • J
      qla_target: remove qlt_check_fcport_exist · 08234e3a
      Jörn Engel 提交于
      Comment from original 2012 patch:
        In all our testing this function has never returned true.  However, the
        dropping of hardware_lock necessary to call this function seems to cause
        a use-after-free we manage to hit rather frequently.  Given this
        cost-benefit ratio, I'm willing to remove some 100 lines of code.
      
      And since the same problem exists around shutdown_sess and put_sess,
      this patch changes them from taking the hardware_lock to requiring the
      hardware_lock to be taken.  In most cases the caller already had the
      lock and had to drop it for the called method to reacquire it.  At best
      that hurts performance and in rare instances it causes races with fatal
      consequences.
      
      We dropped the original 2012 patch when upgrading our kernel and it took
      us nearly half a year to discover we still need it.
      
      (nab: Fix qla_tgt_sess reference in tcm_qla2xxx_put_sess)
      Signed-off-by: NJoern Engel <joern@logfs.org>
      Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>
      Cc: Chad Dupuis <chad.dupuis@qlogic.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      08234e3a
  7. 14 6月, 2013 1 次提交
    • R
      tcm_qla2xxx: Fix residual for underrun commands that fail · b5aff3d2
      Roland Dreier 提交于
      Suppose an initiator sends a DATA IN command with an allocation length
      shorter than the FC transfer length -- we get a target message like
      
          TARGET_CORE[qla2xxx]: Expected Transfer Length: 256 does not match SCSI CDB Length: 0 for SAM Opcode: 0x12
      
      In that case, the target core adjusts the data_length and sets
      se_cmd->residual_count for the underrun.  But now suppose that command
      fails and we end up in tcm_qla2xxx_queue_status() -- that function
      unconditionally overwrites residual_count with the already adjusted
      data_length, and the initiator will burp with a message like
      
          qla2xxx [0000:00:06.0]-301d:0: Dropped frame(s) detected (0x100 of 0x100 bytes).
      
      Fix this by adding on to the existing underflow residual count instead.
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>
      Cc: Chad Dupuis <chad.dupuis@qlogic.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      b5aff3d2
  8. 21 5月, 2013 1 次提交
  9. 13 5月, 2013 1 次提交
  10. 10 5月, 2013 1 次提交
  11. 03 5月, 2013 2 次提交
  12. 25 4月, 2013 1 次提交
  13. 12 4月, 2013 5 次提交
  14. 10 4月, 2013 1 次提交
  15. 06 4月, 2013 1 次提交