1. 23 Dec, 2021 1 commit
  2. 17 Dec, 2021 1 commit
  3. 14 Dec, 2021 1 commit
    • John Garry's avatar
      scsi: pm8001: Fix phys_to_virt() usage on dma_addr_t · 2fe24343
      John Garry authored
      The driver supports a "direct" mode of operation, where the SMP req frame
      is directly copied into the command payload (and vice-versa for the SMP
      resp).
      
      To get at the SMP req frame data in the scatterlist the driver uses
      phys_to_virt() on the DMA mapped memory dma_addr_t . This is broken, and
      subsequently crashes as follows when an IOMMU is enabled:
      
       Unable to handle kernel paging request at virtual address
      ffff0000fcebfb00
      	...
       pc : pm80xx_chip_smp_req+0x2d0/0x3d0
       lr : pm80xx_chip_smp_req+0xac/0x3d0
       pm80xx_chip_smp_req+0x2d0/0x3d0
       pm8001_task_exec.constprop.0+0x368/0x520
       pm8001_queue_command+0x1c/0x30
       smp_execute_task_sg+0xdc/0x204
       sas_discover_expander.part.0+0xac/0x6cc
       sas_discover_root_expander+0x8c/0x150
       sas_discover_domain+0x3ac/0x6a0
       process_one_work+0x1d0/0x354
       worker_thread+0x13c/0x470
       kthread+0x17c/0x190
       ret_from_fork+0x10/0x20
       Code: 371806e1 910006d6 6b16033f 54000249 (38766b05)
       ---[ end trace b91d59aaee98ea2d ]---
      note: kworker/u192:0[7] exited with preempt_count 1
      
      Instead use kmap_atomic().
      
      --
      Difference to v1:
      - use kmap_atomic() in both locations
      Difference to  v2:
      - add whitespace around arithmetic (Damien)
      
      Link: https://lore.kernel.org/r/1639390248-213603-1-git-send-email-john.garry@huawei.comReviewed-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      2fe24343
  4. 07 Dec, 2021 3 commits
  5. 03 Dec, 2021 1 commit
  6. 30 Nov, 2021 1 commit
  7. 24 Nov, 2021 1 commit
  8. 23 Nov, 2021 3 commits
  9. 19 Nov, 2021 9 commits
  10. 17 Nov, 2021 6 commits
  11. 14 Nov, 2021 13 commits