1. 26 4月, 2017 1 次提交
  2. 07 4月, 2017 5 次提交
  3. 07 2月, 2017 1 次提交
  4. 01 2月, 2017 2 次提交
  5. 28 1月, 2017 2 次提交
  6. 28 10月, 2016 1 次提交
  7. 09 6月, 2016 1 次提交
    • W
      scsi: fix race between simultaneous decrements of ->host_failed · 72d8c36e
      Wei Fang 提交于
      sas_ata_strategy_handler() adds the works of the ata error handler to
      system_unbound_wq. This workqueue asynchronously runs work items, so the
      ata error handler will be performed concurrently on different CPUs. In
      this case, ->host_failed will be decreased simultaneously in
      scsi_eh_finish_cmd() on different CPUs, and become abnormal.
      
      It will lead to permanently inequality between ->host_failed and
      ->host_busy, and scsi error handler thread won't start running. IO
      errors after that won't be handled.
      
      Since all scmds must have been handled in the strategy handler, just
      remove the decrement in scsi_eh_finish_cmd() and zero ->host_busy after
      the strategy handler to fix this race.
      
      Fixes: 50824d6c ("[SCSI] libsas: async ata-eh")
      Cc: stable@vger.kernel.org
      Signed-off-by: NWei Fang <fangwei1@huawei.com>
      Reviewed-by: NJames Bottomley <jejb@linux.vnet.ibm.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      72d8c36e
  8. 05 4月, 2016 1 次提交
  9. 07 11月, 2015 1 次提交
  10. 07 9月, 2015 1 次提交
  11. 29 8月, 2015 1 次提交
  12. 27 8月, 2015 1 次提交
  13. 26 8月, 2015 1 次提交
  14. 03 8月, 2015 1 次提交
  15. 31 7月, 2015 1 次提交
    • T
      scsi: fix memory leak with scsi-mq · 0c958ecc
      Tony Battersby 提交于
      Fix a memory leak with scsi-mq triggered by commands with large data
      transfer length.
      
      __sg_alloc_table() sets both table->nents and table->orig_nents to the
      same value.  When the scatterlist is DMA-mapped, table->nents is
      overwritten with the (possibly smaller) size of the DMA-mapped
      scatterlist, while table->orig_nents retains the original size of the
      allocated scatterlist.  scsi_free_sgtable() should therefore check
      orig_nents instead of nents, and all code that initializes sdb->table
      without calling __sg_alloc_table() should set both nents and orig_nents.
      
      Fixes: d285203c ("scsi: add support for a blk-mq based I/O path.")
      Cc: <stable@vger.kernel.org> # 3.17+
      Signed-off-by: NTony Battersby <tonyb@cybernetics.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NEwan D. Milne <emilne@redhat.com>
      Signed-off-by: NJames Bottomley <JBottomley@Odin.com>
      0c958ecc
  16. 24 7月, 2015 1 次提交
  17. 01 6月, 2015 1 次提交
  18. 27 3月, 2015 1 次提交
  19. 09 1月, 2015 2 次提交
  20. 31 12月, 2014 1 次提交
  21. 25 11月, 2014 1 次提交
  22. 24 11月, 2014 2 次提交
  23. 12 11月, 2014 7 次提交
  24. 10 11月, 2014 2 次提交
  25. 16 9月, 2014 1 次提交