1. 05 Apr, 2023 3 commits
  2. 04 Apr, 2023 2 commits
  3. 03 Apr, 2023 1 commit
  4. 31 Mar, 2023 3 commits
    • Gleb Chesnokov's avatar
      scst_vdisk: Introduce the function vdev_set_t10_dev_id() · 4e8ec649
      Gleb Chesnokov authored
      This patch reduces code duplication.
      
      This patch does not change any functionality.
      4e8ec649
    • Gleb Chesnokov's avatar
      qla2x00t-32gbit: Synchronize the IOCB count to be in order · db581fc0
      Gleb Chesnokov authored
      
      A system hang was observed with the following call trace:
      
      BUG: kernel NULL pointer dereference, address: 0000000000000000
      PGD 0 P4D 0
      Oops: 0000 [#1] PREEMPT SMP NOPTI
      CPU: 15 PID: 86747 Comm: nvme Kdump: loaded Not tainted 6.2.0+ #1
      Hardware name: Dell Inc. PowerEdge R6515/04F3CJ, BIOS 2.7.3 03/31/2022
      RIP: 0010:__wake_up_common+0x55/0x190
      Code: 41 f6 01 04 0f 85 b2 00 00 00 48 8b 43 08 4c 8d
            40 e8 48 8d 43 08 48 89 04 24 48 89 c6\
            49 8d 40 18 48 39 c6 0f 84 e9 00 00 00 <49> 8b 40 18 89 6c 24 14 31
            ed 4c 8d 60 e8 41 8b 18 f6 c3 04 75 5d
      RSP: 0018:ffffb05a82afbba0 EFLAGS: 00010082
      RAX: 0000000000000000 RBX: ffff8f9b83a00018 RCX: 0000000000000000
      RDX: 0000000000000001 RSI: ffff8f9b83a00020 RDI: ffff8f9b83a00018
      RBP: 0000000000000001 R08: ffffffffffffffe8 R09: ffffb05a82afbbf8
      R10: 70735f7472617473 R11: 5f30307832616c71 R12: 0000000000000001
      R13: 0000000000000003 R14: 0000000000000000 R15: 0000000000000000
      FS:  00007f815cf4c740(0000) GS:ffff8f9eeed80000(0000)
      	knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000000000 CR3: 000000010633a000 CR4: 0000000000350ee0
      Call Trace:
          <TASK>
          __wake_up_common_lock+0x83/0xd0
          qla_nvme_ls_req+0x21b/0x2b0 [qla2xxx]
          __nvme_fc_send_ls_req+0x1b5/0x350 [nvme_fc]
          nvme_fc_xmt_disconnect_assoc+0xca/0x110 [nvme_fc]
          nvme_fc_delete_association+0x1bf/0x220 [nvme_fc]
          ? nvme_remove_namespaces+0x9f/0x140 [nvme_core]
          nvme_do_delete_ctrl+0x5b/0xa0 [nvme_core]
          nvme_sysfs_delete+0x5f/0x70 [nvme_core]
          kernfs_fop_write_iter+0x12b/0x1c0
          vfs_write+0x2a3/0x3b0
          ksys_write+0x5f/0xe0
          do_syscall_64+0x5c/0x90
          ? syscall_exit_work+0x103/0x130
          ? syscall_exit_to_user_mode+0x12/0x30
          ? do_syscall_64+0x69/0x90
          ? exit_to_user_mode_loop+0xd0/0x130
          ? exit_to_user_mode_prepare+0xec/0x100
          ? syscall_exit_to_user_mode+0x12/0x30
          ? do_syscall_64+0x69/0x90
          ? syscall_exit_to_user_mode+0x12/0x30
          ? do_syscall_64+0x69/0x90
          entry_SYSCALL_64_after_hwframe+0x72/0xdc
          RIP: 0033:0x7f815cd3eb97
      
      The IOCB counts are out of order and that would block any commands from
      going out and subsequently hang the system. Synchronize the IOCB count to
      be in correct order.
      
      Fixes: 5f63a163ed2f ("scsi: qla2xxx: Fix exchange oversubscription for management commands")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarQuinn Tran <qutran@marvell.com>
      Signed-off-by: default avatarNilesh Javali <njavali@marvell.com>
      Link: https://lore.kernel.org/r/20230313043711.13500-3-njavali@marvell.com
      
      Reviewed-by: default avatarHimanshu Madhani <himanshu.madhani@oracle.com>
      Reviewed-by: default avatarJohn Meneghini <jmeneghi@redhat.com>
      Tested-by: default avatarLin Li <lilin@redhat.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      [ commit d3affdeb400f upstream ]
      db581fc0
    • Gleb Chesnokov's avatar
      qla2x00t-32gbit: Perform lockless command completion in abort path · c477c7a4
      Gleb Chesnokov authored
      
      While adding and removing the controller, the following call trace was
      observed:
      
      WARNING: CPU: 3 PID: 623596 at kernel/dma/mapping.c:532 dma_free_attrs+0x33/0x50
      CPU: 3 PID: 623596 Comm: sh Kdump: loaded Not tainted 5.14.0-96.el9.x86_64 #1
      RIP: 0010:dma_free_attrs+0x33/0x50
      
      Call Trace:
         qla2x00_async_sns_sp_done+0x107/0x1b0 [qla2xxx]
         qla2x00_abort_srb+0x8e/0x250 [qla2xxx]
         ? ql_dbg+0x70/0x100 [qla2xxx]
         __qla2x00_abort_all_cmds+0x108/0x190 [qla2xxx]
         qla2x00_abort_all_cmds+0x24/0x70 [qla2xxx]
         qla2x00_abort_isp_cleanup+0x305/0x3e0 [qla2xxx]
         qla2x00_remove_one+0x364/0x400 [qla2xxx]
         pci_device_remove+0x36/0xa0
         __device_release_driver+0x17a/0x230
         device_release_driver+0x24/0x30
         pci_stop_bus_device+0x68/0x90
         pci_stop_and_remove_bus_device_locked+0x16/0x30
         remove_store+0x75/0x90
         kernfs_fop_write_iter+0x11c/0x1b0
         new_sync_write+0x11f/0x1b0
         vfs_write+0x1eb/0x280
         ksys_write+0x5f/0xe0
         do_syscall_64+0x5c/0x80
         ? do_user_addr_fault+0x1d8/0x680
         ? do_syscall_64+0x69/0x80
         ? exc_page_fault+0x62/0x140
         ? asm_exc_page_fault+0x8/0x30
         entry_SYSCALL_64_after_hwframe+0x44/0xae
      
      The command was completed in the abort path during driver unload with a
      lock held, causing the warning in abort path. Hence complete the command
      without any lock held.
      Reported-by: default avatarLin Li <lilin@redhat.com>
      Tested-by: default avatarLin Li <lilin@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarNilesh Javali <njavali@marvell.com>
      Link: https://lore.kernel.org/r/20230313043711.13500-2-njavali@marvell.com
      
      Reviewed-by: default avatarHimanshu Madhani <himanshu.madhani@oracle.com>
      Reviewed-by: default avatarJohn Meneghini <jmeneghi@redhat.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      [ commit 0367076b0817 upstream ]
      c477c7a4
  5. 20 Mar, 2023 1 commit
    • Brian Meagher's avatar
      scst_vdisk, scstadmin: Allow t10_dev_id to be stored before cluster_mode · da4f7c66
      Brian Meagher authored
      Since cluster_mode relies upon the t10_dev_id to generate a namespace, once
      cluster_mode is set the t10_dev_id can no longer be changed.
      
      However, because cluster_mode is listed as one of the various add_dev_params,
      this meant that it would be set earlier than t10_dev_id when scstadmin
      processes scst.conf
      
      Rectify by adding t10_dev_id to fileio_add_dev_params, etc and modifying the
      SCST.pm openDevice so that cluster_mode is set last.
      da4f7c66
  6. 13 Mar, 2023 12 commits
  7. 12 Mar, 2023 17 commits
  8. 09 Mar, 2023 1 commit