MajorP93
2318ceed07
debian, scst-dkms: Move the .install file creation to the correct location in install target
...
* This fixes an issue where the resulting scst-dkms deb package was empty and could not be installed.
* By moving the .install file creation to the install target we ensure:
- The .install file is generated after the version is set
- Paths match the actual DKMS source location
- File contents aren't overwritten by later operations
2025-11-19 10:08:16 +03:00
Gleb Chesnokov
1325d587b8
nightly build: Update kernel versions
...
Update the supported kernel versions.
2025-06-06 12:52:15 +03:00
Gleb Chesnokov
4b61f2b4ac
scst.h: Fix RHEL 9 build
...
Fixes: https://github.com/SCST-project/scst/issues/294
2025-06-06 12:33:37 +03:00
Gleb Chesnokov
0642b05bc5
scst: Add RHEL 8.10 and 9.6 kernel support
...
Add compatibility for RHEL 8.10 and RHEL 9.6 kernels. Update nightly build
and regression test configs, and adjust version checks in the codebase
to handle changes in these new RHEL kernel releases.
2025-06-06 12:33:36 +03:00
Gleb Chesnokov
a0a076e04e
.github/workflows: Improve regression test failure detection in GitHub Actions
...
Update the run_regression_tests workflow to fail if "Compiling the patched
kernel" is missing or if any non-zero error count ("N errors") or "FAILED"
is detected after the marker.
The previous check missed multi-digit error counts and did not handle
a missing marker, which could result in undetected failures.
2025-06-06 12:33:36 +03:00
Gleb Chesnokov
34d3a43f2d
qla2x00t, qla2x00t-32gbit: Fix the RHEL 9.5 build
...
Fixes: https://github.com/SCST-project/scst/issues/272
2025-01-20 18:55:51 +03:00
Gleb Chesnokov
ba7c9d776c
.github/workflows: Update stable branch version
2024-12-28 16:59:38 +03:00
Gleb Chesnokov
ee5a0e2293
www: Update the version number from 3.8 to 3.9
v3.9
2024-12-28 16:44:09 +03:00
Gleb Chesnokov
a68cb8e94d
Bump the version number to 3.9.0
...
These changes have been generated by running the following command:
$ scripts/update-version 3 9 0
2024-12-28 16:44:09 +03:00
Gleb Chesnokov
6325ba84ae
scst/ChangeLog: Summarize the changes for the upcoming 3.9 release
2024-12-28 16:44:09 +03:00
Gleb Chesnokov
f86d0cafc0
qla2x00t-32gbit: Update version to 10.02.09.400-k
...
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20241115130313.46826-8-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 35002a8ec557 upstream ]
2024-12-28 16:31:52 +03:00
Gleb Chesnokov
e711206758
qla2x00t-32gbit: Supported speed displayed incorrectly for VPorts
...
The fc_function_template for vports was missing the
.show_host_supported_speeds. The base port had the same.
Add .show_host_supported_speeds to the vport template as well.
Cc: stable@vger.kernel.org
Fixes: 2c3dfe3f6ad8 ("[SCSI] qla2xxx: add support for NPIV")
Signed-off-by: Anil Gurumurthy <agurumurthy@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20241115130313.46826-7-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit e4e268f898c8 upstream ]
2024-12-28 16:31:52 +03:00
Gleb Chesnokov
a9cbb4e5a5
qla2x00t-32gbit: Fix NVMe and NPIV connect issue
...
NVMe controller fails to send connect command due to failure to locate
hw context buffer for NVMe queue 0 (blk_mq_hw_ctx, hctx_idx=0). The
cause of the issue is NPIV host did not initialize the vha->irq_offset
field. This field is given to blk-mq (blk_mq_pci_map_queues) to help
locate the beginning of IO Queues which in turn help locate NVMe queue
0.
Initialize this field to allow NVMe to work properly with NPIV host.
kernel: nvme nvme5: Connect command failed, errno: -18
kernel: nvme nvme5: qid 0: secure concatenation is not supported
kernel: nvme nvme5: NVME-FC{5}: create_assoc failed, assoc_id 2e9100 ret 401
kernel: nvme nvme5: NVME-FC{5}: reset: Reconnect attempt failed (401)
kernel: nvme nvme5: NVME-FC{5}: Reconnect attempt in 2 seconds
Cc: stable@vger.kernel.org
Fixes: f0783d43dde4 ("scsi: qla2xxx: Use correct number of vectors for online CPUs")
Signed-off-by: Quinn Tran <qutran@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20241115130313.46826-6-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 4812b7796c14 upstream ]
2024-12-28 16:31:52 +03:00
Gleb Chesnokov
2d8d55c2de
qla2x00t-32gbit: Remove check req_sg_cnt should be equal to rsp_sg_cnt
...
Firmware supports multiple sg_cnt for request and response for CT
commands, so remove the redundant check. A check is there where sg_cnt
for request and response should be same. This is not required as driver
and FW have code to handle multiple and different sg_cnt on request and
response.
Cc: stable@vger.kernel.org
Signed-off-by: Saurav Kashyap <skashyap@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20241115130313.46826-5-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 833c70e212fc upstream ]
2024-12-28 16:31:52 +03:00
Gleb Chesnokov
767717c5dd
qla2x00t-32gbit: Fix use after free on unload
...
System crash is observed with stack trace warning of use after
free. There are 2 signals to tell dpc_thread to terminate (UNLOADING
flag and kthread_stop).
On setting the UNLOADING flag when dpc_thread happens to run at the time
and sees the flag, this causes dpc_thread to exit and clean up
itself. When kthread_stop is called for final cleanup, this causes use
after free.
Remove UNLOADING signal to terminate dpc_thread. Use the kthread_stop
as the main signal to exit dpc_thread.
[596663.812935] kernel BUG at mm/slub.c:294!
[596663.812950] invalid opcode: 0000 [#1 ] SMP PTI
[596663.812957] CPU: 13 PID: 1475935 Comm: rmmod Kdump: loaded Tainted: G IOE --------- - - 4.18.0-240.el8.x86_64 #1
[596663.812960] Hardware name: HP ProLiant DL380p Gen8, BIOS P70 08/20/2012
[596663.812974] RIP: 0010:__slab_free+0x17d/0x360
...
[596663.813008] Call Trace:
[596663.813022] ? __dentry_kill+0x121/0x170
[596663.813030] ? _cond_resched+0x15/0x30
[596663.813034] ? _cond_resched+0x15/0x30
[596663.813039] ? wait_for_completion+0x35/0x190
[596663.813048] ? try_to_wake_up+0x63/0x540
[596663.813055] free_task+0x5a/0x60
[596663.813061] kthread_stop+0xf3/0x100
[596663.813103] qla2x00_remove_one+0x284/0x440 [qla2xxx]
Cc: stable@vger.kernel.org
Signed-off-by: Quinn Tran <qutran@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20241115130313.46826-3-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 07c903db0a2f upstream ]
2024-12-28 16:31:52 +03:00
Gleb Chesnokov
bbb412cc39
qla2x00t-32gbit: Fix abort in bsg timeout
...
Current abort of bsg on timeout prematurely clears the
outstanding_cmds[]. Abort does not allow FW to return the IOCB/SRB. In
addition, bsg_job_done() is not called to return the BSG (i.e. leak).
Abort the outstanding bsg/SRB and wait for the completion. The
completion IOCB will wake up the bsg_timeout thread. If abort is not
successful, then driver will forcibly call bsg_job_done() and free the
srb.
Err Inject:
- qaucli -z
- assign CT Passthru IOCB's NportHandle with another initiator
nport handle to trigger timeout. Remote port will drop CT request.
- bsg_job_done is properly called as part of cleanup
kernel: qla2xxx [0000:21:00.1]-7012:7: qla2x00_process_ct : 286 : Error Inject.
kernel: qla2xxx [0000:21:00.1]-7016:7: bsg rqst type: FC_BSG_HST_CT else type: 101 - loop-id=1 portid=fffffa.
kernel: qla2xxx [0000:21:00.1]-70bb:7: qla24xx_bsg_timeout CMD timeout. bsg ptr ffff9971a42f0838 msgcode 80000004 vendor cmd fa010000
kernel: qla2xxx [0000:21:00.1]-507c:7: Abort command issued - hdl=4b, type=5
kernel: qla2xxx [0000:21:00.1]-5040:7: ELS-CT pass-through-ct pass-through error hdl=4b comp_status-status=0x5 error subcode 1=0x0 error subcode 2=0xaf882e80.
kernel: qla2xxx [0000:21:00.1]-7009:7: qla2x00_bsg_job_done: sp hdl 4b, result=70000 bsg ptr ffff9971a42f0838
kernel: qla2xxx [0000:21:00.1]-802c:7: Aborting bsg ffff9971a42f0838 sp=ffff99760b87ba80 handle=4b rval=0
kernel: qla2xxx [0000:21:00.1]-708a:7: bsg abort success. bsg ffff9971a42f0838 sp=ffff99760b87ba80 handle=0x4b
kernel: qla2xxx [0000:21:00.1]-7012:7: qla2x00_process_ct : 286 : Error Inject.
kernel: qla2xxx [0000:21:00.1]-7016:7: bsg rqst type: FC_BSG_HST_CT else type: 101 - loop-id=1 portid=fffffa.
kernel: qla2xxx [0000:21:00.1]-70bb:7: qla24xx_bsg_timeout CMD timeout. bsg ptr ffff9971a42f43b8 msgcode 80000004 vendor cmd fa010000
kernel: qla2xxx [0000:21:00.1]-7012:7: qla_bsg_found : 2206 : Error Inject 2.
kernel: qla2xxx [0000:21:00.1]-802c:7: Aborting bsg ffff9971a42f43b8 sp=ffff99762c304440 handle=5e rval=5
kernel: qla2xxx [0000:21:00.1]-704f:7: bsg abort fail. bsg=ffff9971a42f43b8 sp=ffff99762c304440 rval=5.
kernel: qla2xxx [0000:21:00.1]-7051:7: qla_bsg_found bsg_job_done : bsg ffff9971a42f43b8 result 0xfffffffa sp ffff99762c304440.
Cc: stable@vger.kernel.org
Fixes: c449b4198701 ("scsi: qla2xxx: Use QP lock to search for bsg")
Signed-off-by: Quinn Tran <qutran@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20241115130313.46826-2-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit c423263082ee upstream ]
2024-12-28 16:31:52 +03:00
Gleb Chesnokov
34b1edd045
scst.h: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-12-28 14:59:04 +03:00
Gleb Chesnokov
48120c5f6e
scst_local: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-12-28 14:59:04 +03:00
Gleb Chesnokov
9728e85a5a
scst_user: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-12-28 14:59:04 +03:00
Gleb Chesnokov
2c7890d765
scst_vdisk: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-12-28 14:59:04 +03:00
Gleb Chesnokov
ce31d4b126
dev_handlers: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-12-28 14:59:04 +03:00
Gleb Chesnokov
9082b4e82a
nightly build: Update kernel versions
...
Another kernel versions update
2024-12-28 14:59:04 +03:00
m.chernobrov
297034d884
scstadmin: Fix scstadmin -list_sessions error msg in out cmd
...
In out of "scstadmin -list_sessions" cmd occurs error
"Use of uninitialized value in numeric lt (<) at
/usr/local/sbin/scstadmin line 3679".
2024-11-27 11:33:20 +03:00
Gleb Chesnokov
f265dc450f
scst_lib: Move synchronize_rcu() calls out of loops to reduce overhead
...
This patch refactors the code by accumulating the target devices into a
temporary list and moving the synchronize_rcu() call outside of the
loops. By doing so, we reduce the number of synchronize_rcu() calls to
one, improving the efficiency of the cleanup process.
Fixes: https://github.com/SCST-project/scst/issues/229
2024-11-18 19:32:27 +03:00
Gleb Chesnokov
cc713322e7
nightly build: Update kernel versions
...
Another kernel versions update.
2024-11-18 17:13:45 +03:00
Gleb Chesnokov
60dc638b1b
iscsi-scst: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-11-16 14:33:58 +03:00
Gleb Chesnokov
3a54209167
iscsi-scst: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-11-16 14:33:58 +03:00
Gleb Chesnokov
ae5ea42594
iscsi-scst: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-11-16 14:33:58 +03:00
Gleb Chesnokov
8aa93714e6
iscsi-scst: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-11-16 14:33:58 +03:00
Gleb Chesnokov
1414c9dda3
iscsi-scst: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-11-16 14:33:58 +03:00
Gleb Chesnokov
ec80741a24
iscsi-scst: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
2024-11-16 14:33:58 +03:00
Dhananjay Kamble
70cf2f6271
scst: Unbreak the RHEL 9.5 build
2024-11-07 19:32:26 +03:00
Gleb Chesnokov
2fea7e484f
qla2x00t-32gbit: Remove the unused 'del_list_entry' field in struct fc_port
...
The 'del_list_entry' field in "struct fc_port" is unused.
The field was introduced in commit 2d70c103fd2a ("[SCSI] qla2xxx: Add LLD
target-mode infrastructure for >= 24xx series") in 2012-05 and the last
user was removed in commit 726b85487067 ("qla2xxx: Add framework for async
fabric discovery") in 2017-02.
Remove this unused field.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr >
Link: https://lore.kernel.org/r/69155321ab26c1f4d473d5bb6cd44b59b9b6a020.1724094686.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit e59f43fb6477 upstream ]
2024-11-07 14:02:05 +03:00
Gleb Chesnokov
61f365f96e
scst: Expand all create*_workqueue() invocations
...
The workqueue maintainer wants to remove the create*_workqueue() macros
because these macros always set the WQ_MEM_RECLAIM flag and because these
only support literal workqueue names. Hence this patch that replaces the
create*_workqueue() invocations with the definition of this macro. The
WQ_MEM_RECLAIM flag has been retained because I think that flag is necessary
for workqueues created by storage drivers.
2024-11-07 14:02:05 +03:00
Gleb Chesnokov
31eca7eced
.github/workflows: Use checkpatch scripts
...
Inroduce several checkpatch scripts to use in workflows.
2024-11-07 13:21:25 +03:00
Gleb Chesnokov
fca4d58822
.github/workflows: Run regression tests upon a pull request
...
Also allow regression tests to run upon a pull request.
2024-11-07 13:21:25 +03:00
Gleb Chesnokov
256d695afa
scst: Port to Linux kernel v6.12
...
Support for the following changes in the Linux kernel v6.12:
- 5f60d5f6bbc1 ("move asm/unaligned.h to linux/unaligned.h")
- cb787f4ac0c2 ("[tree-wide] finally take no_llseek out")
2024-11-07 13:21:25 +03:00
Gleb Chesnokov
1925094cb0
.github/workflows, scripts: Improve checkpatch compliance
...
Use checkpatch --strict to detect more style issues.
2024-10-01 16:17:11 +03:00
Gleb Chesnokov
878bbad8ce
nightly build: Update kernel versions
...
Another kernel versions update
2024-09-16 13:44:01 +03:00
Gleb Chesnokov
376838e898
scripts/run-regression-tests: Improve support for RHEL kernels
...
Additionally, update kernel versions.
2024-09-04 20:12:26 +03:00
Gleb Chesnokov
ca51801d25
qla2x00t-32gbit: Convert comma to semicolon
...
Replace a comma between expression statements by a semicolon.
Fixes: d4523bd6fd5d ("scsi: qla2xxx: Refactor asynchronous command initialization")
Signed-off-by: Chen Ni <nichen@iscas.ac.cn >
Link: https://lore.kernel.org/r/20240711005724.2358446-1-nichen@iscas.ac.cn
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 6ca9fede7c73 upstream ]
2024-09-04 14:34:12 +03:00
Gleb Chesnokov
096a7271ca
qla2x00t-32gbit: Update version to 10.02.09.300-k
...
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240710171057.35066-12-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit a1392b19ca59 upstream ]
2024-09-04 14:34:12 +03:00
Gleb Chesnokov
4726c8a0d1
qla2x00t-32gbit: Use QP lock to search for bsg
...
On bsg timeout, hardware_lock is used as part of search for the srb.
Instead, qpair lock should be used to iterate through different qpair.
Cc: stable@vger.kernel.org
Signed-off-by: Quinn Tran <qutran@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240710171057.35066-11-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit c449b4198701 upstream ]
2024-09-04 14:34:12 +03:00
Gleb Chesnokov
d66e9dea01
qla2x00t-32gbit: Reduce fabric scan duplicate code
...
For fabric scan, current code uses switch scan opcode and flags as the
method to iterate through different commands to carry out the process.
This makes it hard to read. This patch convert those opcode and flags into
steps. In addition, this help reduce some duplicate code.
Consolidate routines that handle GPNFT & GNNFT.
Cc: stable@vger.kernel.org
Signed-off-by: Quinn Tran <qutran@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240710171057.35066-10-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit beafd6924614 upstream ]
2024-09-04 14:34:12 +03:00
Gleb Chesnokov
7920ac0e45
qla2x00t-32gbit: Fix optrom version displayed in FDMI
...
Bios version was popluated for FDMI response. Systems with EFI would show
optrom version as 0. EFI version is populated here and BIOS version is
already displayed under FDMI_HBA_BOOT_BIOS_NAME.
Cc: stable@vger.kernel.org
Signed-off-by: Shreyas Deodhar <sdeodhar@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240710171057.35066-9-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 348744f27a35 upstream ]
2024-09-04 14:34:12 +03:00
Gleb Chesnokov
e5da16ad31
qla2x00t-32gbit: During vport delete send async logout explicitly
...
During vport delete, it is observed that during unload we hit a crash
because of stale entries in outstanding command array. For all these stale
I/O entries, eh_abort was issued and aborted (fast_fail_io = 2009h) but
I/Os could not complete while vport delete is in process of deleting.
BUG: kernel NULL pointer dereference, address: 000000000000001c
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 0 P4D 0
Oops: 0000 [#1 ] PREEMPT SMP NOPTI
Workqueue: qla2xxx_wq qla_do_work [qla2xxx]
RIP: 0010:dma_direct_unmap_sg+0x51/0x1e0
RSP: 0018:ffffa1e1e150fc68 EFLAGS: 00010046
RAX: 0000000000000000 RBX: 0000000000000021 RCX: 0000000000000001
RDX: 0000000000000021 RSI: 0000000000000000 RDI: ffff8ce208a7a0d0
RBP: ffff8ce208a7a0d0 R08: 0000000000000000 R09: ffff8ce378aac9c8
R10: ffff8ce378aac8a0 R11: ffffa1e1e150f9d8 R12: 0000000000000000
R13: 0000000000000000 R14: ffff8ce378aac9c8 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8d217f000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000000001c CR3: 0000002089acc000 CR4: 0000000000350ee0
Call Trace:
<TASK>
qla2xxx_qpair_sp_free_dma+0x417/0x4e0
? qla2xxx_qpair_sp_compl+0x10d/0x1a0
? qla2x00_status_entry+0x768/0x2830
? newidle_balance+0x2f0/0x430
? dequeue_entity+0x100/0x3c0
? qla24xx_process_response_queue+0x6a1/0x19e0
? __schedule+0x2d5/0x1140
? qla_do_work+0x47/0x60
? process_one_work+0x267/0x440
? process_one_work+0x440/0x440
? worker_thread+0x2d/0x3d0
? process_one_work+0x440/0x440
? kthread+0x156/0x180
? set_kthread_struct+0x50/0x50
? ret_from_fork+0x22/0x30
</TASK>
Send out async logout explicitly for all the ports during vport delete.
Cc: stable@vger.kernel.org
Signed-off-by: Manish Rangankar <mrangankar@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240710171057.35066-8-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 76f480d7c717 upstream ]
2024-09-04 14:34:12 +03:00
Gleb Chesnokov
500979d486
qla2x00t-32gbit: Complete command early within lock
...
A crash was observed while performing NPIV and FW reset,
BUG: kernel NULL pointer dereference, address: 000000000000001c
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 0 P4D 0
Oops: 0000 1 PREEMPT_RT SMP NOPTI
RIP: 0010:dma_direct_unmap_sg+0x51/0x1e0
RSP: 0018:ffffc90026f47b88 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000021 RCX: 0000000000000002
RDX: 0000000000000021 RSI: 0000000000000000 RDI: ffff8881041130d0
RBP: ffff8881041130d0 R08: 0000000000000000 R09: 0000000000000034
R10: ffffc90026f47c48 R11: 0000000000000031 R12: 0000000000000000
R13: 0000000000000000 R14: ffff8881565e4a20 R15: 0000000000000000
FS: 00007f4c69ed3d00(0000) GS:ffff889faac80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000000001c CR3: 0000000288a50002 CR4: 00000000007706e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
<TASK>
? __die_body+0x1a/0x60
? page_fault_oops+0x16f/0x4a0
? do_user_addr_fault+0x174/0x7f0
? exc_page_fault+0x69/0x1a0
? asm_exc_page_fault+0x22/0x30
? dma_direct_unmap_sg+0x51/0x1e0
? preempt_count_sub+0x96/0xe0
qla2xxx_qpair_sp_free_dma+0x29f/0x3b0 [qla2xxx]
qla2xxx_qpair_sp_compl+0x60/0x80 [qla2xxx]
__qla2x00_abort_all_cmds+0xa2/0x450 [qla2xxx]
The command completion was done early while aborting the commands in driver
unload path but outside lock to avoid the WARN_ON condition of performing
dma_free_attr within the lock. However this caused race condition while
command completion via multiple paths causing system crash.
Hence complete the command early in unload path but within the lock to
avoid race condition.
Fixes: 0367076b0817 ("scsi: qla2xxx: Perform lockless command completion in abort path")
Cc: stable@vger.kernel.org
Signed-off-by: Shreyas Deodhar <sdeodhar@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240710171057.35066-7-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 4475afa2646d upstream ]
2024-09-04 14:34:12 +03:00
Gleb Chesnokov
30cb67f0c1
qla2x00t-32gbit: Fix flash read failure
...
Link up failure is observed as a result of flash read failure. Current
code does not check flash read return code where it relies on FW checksum
to detect the problem.
Add check of flash read failure to detect the problem sooner.
Reported-by: kernel test robot <lkp@intel.com >
Reported-by: Dan Carpenter <dan.carpenter@linaro.org >
Closes: https://lore.kernel.org/all/202406210815.rPDRDMBi-lkp@intel.com/
Cc: stable@vger.kernel.org
Signed-off-by: Quinn Tran <qutran@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240710171057.35066-6-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 29e222085d89 upstream ]
2024-09-04 14:34:12 +03:00
Gleb Chesnokov
8ec5a49d4b
qla2x00t-32gbit: Return ENOBUFS if sg_cnt is more than one for ELS cmds
...
Firmware only supports single DSDs in ELS Pass-through IOCB (0x53h), sg cnt
is decided by the SCSI ML. User is not aware of the cause of an acutal
error.
Return the appropriate return code that will be decoded by API and
application and proper error message will be displayed to user.
Fixes: 6e98016ca077 ("[SCSI] qla2xxx: Re-organized BSG interface specific code.")
Cc: stable@vger.kernel.org
Signed-off-by: Saurav Kashyap <skashyap@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240710171057.35066-5-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit ce2065c4cc4f upstream ]
2024-09-04 14:34:12 +03:00
Gleb Chesnokov
4580c85a6e
qla2x00t-32gbit: Fix for possible memory corruption
...
Init Control Block is dereferenced incorrectly. Correctly dereference ICB
Cc: stable@vger.kernel.org
Signed-off-by: Shreyas Deodhar <sdeodhar@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240710171057.35066-4-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit c03d740152f7 upstream ]
2024-09-04 14:34:12 +03:00