Gleb Chesnokov
5a325ea4a7
qla2x00t-32gbit: Fix command flush on cable pull
...
System crash due to command failed to flush back to SCSI layer.
BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
PGD 0 P4D 0
Oops: 0000 [#1 ] SMP NOPTI
CPU: 27 PID: 793455 Comm: kworker/u130:6 Kdump: loaded Tainted: G OE --------- - - 4.18.0-372.9.1.el8.x86_64 #1
Hardware name: HPE ProLiant DL360 Gen10/ProLiant DL360 Gen10, BIOS U32 09/03/2021
Workqueue: nvme-wq nvme_fc_connect_ctrl_work [nvme_fc]
RIP: 0010:__wake_up_common+0x4c/0x190
Code: 24 10 4d 85 c9 74 0a 41 f6 01 04 0f 85 9d 00 00 00 48 8b 43 08 48 83 c3 08 4c 8d 48 e8 49 8d 41 18 48 39 c3 0f 84 f0 00 00 00 <49> 8b 41 18 89 54 24 08 31 ed 4c 8d 70 e8 45 8b 29 41 f6 c5 04 75
RSP: 0018:ffff95f3e0cb7cd0 EFLAGS: 00010086
RAX: 0000000000000000 RBX: ffff8b08d3b26328 RCX: 0000000000000000
RDX: 0000000000000001 RSI: 0000000000000003 RDI: ffff8b08d3b26320
RBP: 0000000000000001 R08: 0000000000000000 R09: ffffffffffffffe8
R10: 0000000000000000 R11: ffff95f3e0cb7a60 R12: ffff95f3e0cb7d20
R13: 0000000000000003 R14: 0000000000000000 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8b2fdf6c0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 0000002f1e410002 CR4: 00000000007706e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
__wake_up_common_lock+0x7c/0xc0
qla_nvme_ls_req+0x355/0x4c0 [qla2xxx]
qla2xxx [0000:12:00.1]-f084:3: qlt_free_session_done: se_sess 0000000000000000 / sess ffff8ae1407ca000 from port 21:32:00:02:ac:07:ee:b8 loop_id 0x02 s_id 01:02:00 logout 1 keep 0 els_logo 0
? __nvme_fc_send_ls_req+0x260/0x380 [nvme_fc]
qla2xxx [0000:12:00.1]-207d:3: FCPort 21:32:00:02:ac:07:ee:b8 state transitioned from ONLINE to LOST - portid=010200.
? nvme_fc_send_ls_req.constprop.42+0x1a/0x45 [nvme_fc]
qla2xxx [0000:12:00.1]-2109:3: qla2x00_schedule_rport_del 21320002ac07eeb8. rport ffff8ae598122000 roles 1
? nvme_fc_connect_ctrl_work.cold.63+0x1e3/0xa7d [nvme_fc]
qla2xxx [0000:12:00.1]-f084:3: qlt_free_session_done: se_sess 0000000000000000 / sess ffff8ae14801e000 from port 21:32:01:02:ad:f7:ee:b8 loop_id 0x04 s_id 01:02:01 logout 1 keep 0 els_logo 0
? __switch_to+0x10c/0x450
? process_one_work+0x1a7/0x360
qla2xxx [0000:12:00.1]-207d:3: FCPort 21:32:01:02:ad:f7:ee:b8 state transitioned from ONLINE to LOST - portid=010201.
? worker_thread+0x1ce/0x390
? create_worker+0x1a0/0x1a0
qla2xxx [0000:12:00.1]-2109:3: qla2x00_schedule_rport_del 21320102adf7eeb8. rport ffff8ae3b2312800 roles 70
? kthread+0x10a/0x120
qla2xxx [0000:12:00.1]-2112:3: qla_nvme_unregister_remote_port: unregister remoteport on ffff8ae14801e000 21320102adf7eeb8
? set_kthread_struct+0x40/0x40
qla2xxx [0000:12:00.1]-2110:3: remoteport_delete of ffff8ae14801e000 21320102adf7eeb8 completed.
? ret_from_fork+0x1f/0x40
qla2xxx [0000:12:00.1]-f086:3: qlt_free_session_done: waiting for sess ffff8ae14801e000 logout
The system was under memory stress where driver was not able to allocate an
SRB to carry out error recovery of cable pull. The failure to flush causes
upper layer to start modifying scsi_cmnd. When the system frees up some
memory, the subsequent cable pull trigger another command flush. At this
point the driver access a null pointer when attempting to DMA unmap the
SGL.
Add a check to make sure commands are flush back on session tear down to
prevent the null pointer access.
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/20240227164127.36465-7-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit a27d4d0e7de3 upstream ]
2024-05-03 12:50:49 +03:00
Gleb Chesnokov
0929d8125f
qla2x00t-32gbit: NVME|FCP prefer flag not being honored
...
Changing of [FCP|NVME] prefer flag in flash has no effect on driver. For
device that supports both FCP + NVMe over the same connection, driver
continues to connect to this device using the previous successful login
mode.
On completion of flash update, adapter will be reset. Driver will
reset the prefer flag based on setting from flash.
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/20240227164127.36465-6-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 69aecdd41010 upstream ]
2024-05-03 12:50:49 +03:00
Gleb Chesnokov
10c4006caa
qla2x00t-32gbit: Update manufacturer detail
...
Update manufacturer detail from "Marvell Semiconductor, Inc." to
"Marvell".
Cc: stable@vger.kernel.org
Signed-off-by: Bikash Hazarika <bhazarika@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240227164127.36465-5-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 688fa069fda6 upstream ]
2024-05-03 12:50:49 +03:00
Gleb Chesnokov
869135ef83
qla2x00t-32gbit: Split FCE|EFT trace control
...
Current code combines the allocation of FCE|EFT trace buffers and enables
the features all in 1 step.
Split this step into separate steps in preparation for follow-on patch to
allow user to have a choice to enable / disable FCE trace feature.
Cc: stable@vger.kernel.org
Reported-by: kernel test robot <lkp@intel.com >
Signed-off-by: Quinn Tran <qutran@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20240227164127.36465-4-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 76a192e1a566 upstream ]
2024-05-03 12:50:49 +03:00
Gleb Chesnokov
f91f314b3a
qla2x00t-32gbit: Fix N2N stuck connection
...
Disk failed to rediscover after chip reset error injection. The chip reset
happens at the time when a PLOGI is being sent. This causes a flag to be
left on which blocks the retry. Clear the blocking flag.
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/20240227164127.36465-3-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 881eb861ca38 upstream ]
2024-05-03 12:50:49 +03:00
Gleb Chesnokov
aabf1cedc3
qla2x00t-32gbit: Prevent command send on chip reset
...
Currently IOCBs are allowed to push through while chip reset could be in
progress. During chip reset the outstanding_cmds array is cleared
twice. Once when any command on this array is returned as failed and
secondly when the array is initialize to zero. If a command is inserted on
to the array between these intervals, then the command will be lost. Check
for chip reset before sending IOCB.
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/20240227164127.36465-2-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 4895009c4bb7 upstream ]
2024-05-03 12:50:49 +03:00
Gleb Chesnokov
e322287f89
scst/include/backport.h: Backport DEFINE_SHOW_STORE_ATTRIBUTE()
...
Support the previous commit against kernel versions before v6.7.
See also commit 9cba82bba500 ("seq_file: add helper macro to define
attribute for rw file") # v6.7.
2024-05-03 12:50:49 +03:00
Gleb Chesnokov
1ea7200d55
qla2x00t-32gbit: use DEFINE_SHOW_STORE_ATTRIBUTE() helper for debugfs
...
Use DEFINE_SHOW_STORE_ATTRIBUTE() helper for read-write file to reduce some
duplicated code.
Link: https://lkml.kernel.org/r/20230905024835.43219-4-yangxingui@huawei.com
Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com >
Co-developed-by: Xingui Yang <yangxingui@huawei.com >
Signed-off-by: Xingui Yang <yangxingui@huawei.com >
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Cc: Al Viro <viro@zeniv.linux.org.uk >
Cc: Animesh Manna <animesh.manna@intel.com >
Cc: Anshuman Gupta <anshuman.gupta@intel.com >
Cc: Damien Le Moal <damien.lemoal@opensource.wdc.com >
Cc: Felipe Balbi <felipe.balbi@linux.intel.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Himanshu Madhani <himanshu.madhani@cavium.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Martin K. Petersen <martin.petersen@oracle.com >
Cc: Uma Shankar <uma.shankar@intel.com >
Cc: Xiang Chen <chenxiang66@hisilicon.com >
Cc: Zeng Tao <prime.zeng@hisilicon.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
[ commit a9d56ce053da upstream ]
2024-05-03 12:50:49 +03:00
Gleb Chesnokov
8a1a7fab1d
scst/include/backport.h: Fix the build against UEK kernels
...
Commit 48ef50966a ("scst/include/backport.h: Port to the latest UEK
kernels") broke the build for UEK kernel versions before v5.4.17-2136.
Fix it.
2024-05-03 12:18:43 +03:00
Gleb Chesnokov
52b5e841cf
scst/include/backport.h: Fix backport for new stable kernels
...
This patch fixes the build against kernel versions >= 6.6.23.
2024-05-03 12:18:43 +03:00
Gleb Chesnokov
48ef50966a
scst/include/backport.h: Port to the latest UEK kernels
...
This patch fixes the build against UEK kernel versions
5.4.17-2136.330.7.1.el8uek, 5.15.0-205.149.5.1.el9uek.
2024-05-02 17:20:01 +03:00
Gleb Chesnokov
71abad275e
scst/include/backport.h: Fix backport for new stable kernels
...
This patch fixes the build against kernel versions >= 5.10.210.
2024-05-02 17:20:01 +03:00
Gleb Chesnokov
d3a2faecff
scripts/run-regression-tests: Explicitly set KBUILD_MODPOST_WARN=1
...
This fixes the run-regression-tests build against kernel versions >= v6.3.
See also commit 5573b4daa26a ("kbuild: do not automatically add -w option
to modpost") # v6.3.
2024-05-02 17:20:01 +03:00
Gleb Chesnokov
56bb6c0fa6
nightly build, scripts: Remove svn support
...
Remove deprecated svn support.
2024-05-02 17:20:01 +03:00
Gleb Chesnokov
f4840e9579
nightly build: Update kernel versions
...
Another kernel versions update.
2024-04-26 18:25:15 +03:00
Brian Meagher and Gleb Chesnokov
6a21f456f7
iscsi-scst: Add mechanism to restore target parameter to default
...
Writing the string :default: to the /sys entry will restore local_def
2024-04-26 09:38:36 +03:00
Gleb Chesnokov
12f9b6e681
scst_lib, scst_vdisk: Port to Linux kernel v6.9
...
Support for the following block layer changes in the Linux kernel v6.9:
- f3a608827d1f ("bdev: open block device as files")
- b1211a25c4fe ("bdev: make bdev_{release, open_by_dev}() private to
block layer")
2024-04-25 16:10:21 +03:00
Brian Meagher and Gleb Chesnokov
659c7a7875
iscsi-scst: Add link_local parameter
...
Add a link_local parameter to control whether an IPv6 SendTargets
response includes link local addresses. The default is to preserve
the existing behavior and include them.
2024-04-22 10:21:15 +03:00
Gleb Chesnokov
7bec05916c
scst_vdisk: Simplify request_queue retrieval in vdisk_exec_read_capacity16
...
This patch simplifies the retrieval of the request_queue within the
vdisk_exec_read_capacity16 function.
2024-02-25 18:18:10 +03:00
Brian Meagher and Gleb Chesnokov
bb78492944
scst_vdisk: Fix recent breakage in vdisk_exec_read_capacity16
...
A recent commit (974001f66 ) added backport support for bdev_open_by_path.
This entailed adding a struct bdev_handle, but vdisk_exec_read_capacity16
attempts to lookup virt_dev->bdev_handle->bdev without regard for the fact
that if we are not using blockio then bdev_handle will be null. Rectify
by making the lookup more robust.
2024-02-25 16:37:34 +03:00
Gleb Chesnokov
ce2ba13bed
scst_vdisk: Fix check for blockio device
...
Suppress the following (false positive) Coverity complaint:
CID 347415: (#1 of 1): Dereference after null check (FORWARD_NULL)
var_deref_model: Passing null pointer virt_dev->bdev_handle to
bdev_release_backport, which dereferences it
2024-02-16 14:30:39 +03:00
Gleb Chesnokov
bf6d41800e
qla2x00t-32gbit: Port to Linux kernel v6.8
...
Support for the following tracing layer changes in the Linux kernel v6.8:
- d23569979ca1 ("tracing: Allow creating instances with specified system
events")
2024-02-16 13:52:34 +03:00
Gleb Chesnokov
974001f66f
scst/include/backport.h, scst_vdisk: Port to Linux kernel v6.8
...
Support for the following block layer changes in the Linux kernel v6.8:
- e719b4d15674 ("block: Provide bdev_open_* functions")
- cd34758c5238 ("block: Remove blkdev_get_by_*() functions")
2024-02-16 13:52:34 +03:00
Brian Meagher and Gleb Chesnokov
ff70c9deb7
scst_vdisk: Add active attributes support to vdisk_fileio
...
vdisk_blockio already supports the active attribute to facilitate
deferring opening au underlying block device. Add a similar feature
to vdisk_fileio.
2024-02-16 13:40:08 +03:00
Bart Van Assche and Gleb Chesnokov
bee5066645
scst_copy_mgr: Reject EXTENDED COPY(LID4) commands
...
Since SCST only supports EXTENDED COPY(LID1) commands, reject EXTENDED
COPY(LID4) commands.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
2024-02-16 12:07:21 +03:00
Bart Van Assche and Gleb Chesnokov
316856caee
scst_lib: Remove documentation of removed arguments
...
Commit 488aaeed71 ("scst_lib: Remove support for kernel versions before
3.10") removed the d_km_type and s_km_type arguments. Hence this patch that
removes the documentation for these arguments.
Fixes: 488aaeed71 ("scst_lib: Remove support for kernel versions before 3.10")
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
2024-02-16 12:07:21 +03:00
Bart Van Assche and Gleb Chesnokov
38b9e895bd
.github/workflows: Restrict some workflows to the official repository
...
Prevent that the Coverity and send-email workflows fail for submitters
of pull requests.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
2024-02-16 12:07:21 +03:00
Bart Van Assche and Gleb Chesnokov
b1ec10623b
.github/workflows: Use the latest checkout action
...
Fix the following warning:
Node.js 16 actions are deprecated. Please update the following actions to
use Node.js 20: actions/checkout@v3.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
2024-02-16 12:07:21 +03:00
Brian Meagher and Gleb Chesnokov
f4f8da8b4d
scstadmin: Eliminate use of uninitialized value in numeric error
...
Using scstadmin to reload a configuration with fewer targets can result
in a "Use of uninitialized value in numeric ne" error. Rectify by adding
a check for the undefined value and handling the situation (by disabling
the target in question, unless the driver is copy_manager).
2024-01-30 10:55:25 +03:00
Gleb Chesnokov
2f9a82bb87
github: Update stable branch version for the Mailing list action
2024-01-15 15:33:45 +03:00
Gleb Chesnokov
188256792c
Bump the version number to 3.9.0-pre
...
These changes have been generated by running the following command:
$ scripts/update-version 3 9 0 -pre
2024-01-15 15:33:45 +03:00
Gleb Chesnokov
f134517007
nightly build: Update kernel versions
v3.8
2024-01-15 13:59:19 +03:00
Gleb Chesnokov
cd23abef42
www: Update the version number from 3.7 to 3.8
2024-01-15 13:59:19 +03:00
Gleb Chesnokov
1171841931
Bump the version number to 3.8.0
...
These changes have been generated by running the following command:
$ scripts/update-version 3 8 0
2024-01-15 13:59:19 +03:00
Gleb Chesnokov
cee270448c
scst/ChangeLog: Summarize the changes for the upcoming 3.8 release
2024-01-15 13:59:19 +03:00
Brian Meagher and Gleb Chesnokov
df039cb3e9
scst.h, scst, device handlers: Fix scst_replace_port_info
...
scst_pass_through_cmd_done can run in interrupt context, and call
scst_replace_port_info, which in turn was calling scst_lookup_tg_id.
Since scst_lookup_tg_id does a mutex_lock, we should not call it from
interrupt context.
Add scst_cmd_inquired_dev_ident and use in various locations.
2024-01-12 10:50:15 +03:00
Gleb Chesnokov
7baf286609
scripts/specialize-patch: Improve RHEL support
...
Unbreak nightly build for RHEL 8.9 and 9.3
2024-01-10 19:34:49 +03:00
Gleb Chesnokov
b5693922e0
scst_lib: Use gfp_mask instead of GFP_KERNEL for percpu_ref_init()
...
Fix smatch-reported warning message:
drivers/scst/scst_lib.c:4198 scst_alloc_device() warn: use 'gfp_mask'
here instead of GFP_KERNEL?
2024-01-10 19:34:49 +03:00
Gleb Chesnokov
cc3833c50b
nightly build: Downgrade the kernel version for RHEL 8.8
...
AlmaLinux has broken source RPMs for RHEL 8.8 kernel versions higher
than 477.13.1, so use that version for now.
2024-01-10 19:34:49 +03:00
Gleb Chesnokov
50e1babd39
scst/include/backport.h: Fix backport for new stable kernels
...
This patch fixes the build against kernel versions 5.4.263, 5.10.203,
5.15.136.
2024-01-10 19:34:49 +03:00
Gleb Chesnokov
7a48f02640
scst/include/backport.h: Port to the latest UEK 7 kernel
...
This patch fixes the build against UEK kernel 5.15.0-201.135.6.el9uek.
2024-01-10 19:34:49 +03:00
Gleb Chesnokov
04ea811e8d
scripts: Revert "scripts: Add support for the UEK_RELEASE macro"
...
This reverts commit 0d025a2e .
Remove unused UEK_RELEASE macro support.
2024-01-10 19:34:49 +03:00
Gleb Chesnokov
be9d368361
scst_targ: Fix shift out of bounds
...
This patch should fix the following UBSAN warning:
UBSAN: shift-out-of-bounds in scst/src/scst_targ.c:3912:6
shift exponent -1 is negative
Call Trace:
<TASK>
show_stack+0x52/0x5c
dump_stack_lvl+0x4a/0x63
dump_stack+0x10/0x16
ubsan_epilogue+0x9/0x36
__ubsan_handle_shift_out_of_bounds.cold+0x61/0xef
scst_process_active_cmd.cold+0xf/0x2d [scst]
scst_process_redirect_cmd+0xd4/0x2e0 [scst]
scst_tgt_cmd_done+0x48/0x70 [scst]
scst_local_targ_xmit_response+0x64/0x220 [scst_local]
scst_process_active_cmd+0x891/0x2140 [scst]
scst_process_redirect_cmd+0xd4/0x2e0 [scst]
scst_cmd_done_local+0x80/0x110 [scst]
dev_user_process_reply+0x597/0x1160 [scst_user]
dev_user_ioctl+0x145/0xb23 [scst_user]
__x64_sys_ioctl+0x95/0xd0
do_syscall_64+0x5c/0xc0
entry_SYSCALL_64_after_hwframe+0x62/0xcc
Reported-by: Rob Turk <robtu@rtist.nl >
2023-12-28 11:58:22 +03:00
Gleb Chesnokov
5716ffa737
scst_lib: Fix mem access after free
...
Fixes: https://github.com/SCST-project/scst/issues/204
2023-12-28 11:02:09 +03:00
Gleb Chesnokov
56a6be7ddf
nightly build: Update kernel versions
...
Another kernel versions update.
2023-12-27 22:09:42 +03:00
Gleb Chesnokov
6be69c08b4
qla2x00t-32gbit: Fix system crash due to bad pointer access
...
User experiences system crash when running AER error injection. The
perturbation causes the abort-all-I/O path to trigger. The driver assumes
all I/O on this path is FCP only. If there is both NVMe & FCP traffic, a
system crash happens. Add additional check to see if I/O is FCP or not
before access.
PID: 999019 TASK: ff35d769f24722c0 CPU: 53 COMMAND: "kworker/53:1"
0 [ff3f78b964847b58] machine_kexec at ffffffffae86973d
1 [ff3f78b964847ba8] __crash_kexec at ffffffffae9be29d
2 [ff3f78b964847c70] crash_kexec at ffffffffae9bf528
3 [ff3f78b964847c78] oops_end at ffffffffae8282ab
4 [ff3f78b964847c98] exc_page_fault at ffffffffaf2da502
5 [ff3f78b964847cc0] asm_exc_page_fault at ffffffffaf400b62
[exception RIP: qla2x00_abort_srb+444]
RIP: ffffffffc07b5f8c RSP: ff3f78b964847d78 RFLAGS: 00010046
RAX: 0000000000000282 RBX: ff35d74a0195a200 RCX: ff35d76886fd03a0
RDX: 0000000000000001 RSI: ffffffffc07c5ec8 RDI: ff35d74a0195a200
RBP: ff35d76913d22080 R8: ff35d7694d103200 R9: ff35d7694d103200
R10: 0000000100000000 R11: ffffffffb05d6630 R12: 0000000000010000
R13: ff3f78b964847df8 R14: ff35d768d8754000 R15: ff35d768877248e0
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
6 [ff3f78b964847d70] qla2x00_abort_srb at ffffffffc07b5f84 [qla2xxx]
7 [ff3f78b964847de0] __qla2x00_abort_all_cmds at ffffffffc07b6238 [qla2xxx]
8 [ff3f78b964847e38] qla2x00_abort_all_cmds at ffffffffc07ba635 [qla2xxx]
9 [ff3f78b964847e58] qla2x00_terminate_rport_io at ffffffffc08145eb [qla2xxx]
10 [ff3f78b964847e70] fc_terminate_rport_io at ffffffffc045987e [scsi_transport_fc]
11 [ff3f78b964847e88] process_one_work at ffffffffae914f15
12 [ff3f78b964847ed0] worker_thread at ffffffffae9154c0
13 [ff3f78b964847f10] kthread at ffffffffae91c456
14 [ff3f78b964847f50] ret_from_fork at ffffffffae8036ef
Cc: stable@vger.kernel.org
Fixes: f45bca8c5052 ("scsi: qla2xxx: Fix double scsi_done for abort path")
Signed-off-by: Quinn Tran <qutran@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20231030064912.37912-1-njavali@marvell.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 19597cad64d6 upstream ]
2023-12-27 22:01:36 +03:00
Gleb Chesnokov
e154a6bc4f
qla2x00t-32gbit: Fix double free of dsd_list during driver load
...
On driver load, scsi_add_host() can fail. This triggers the free path to
call qla2x00_mem_free() multiple times. This causes NULL pointer access of
ha->base_qpair. Add check before access.
BUG: unable to handle kernel NULL pointer dereference at 0000000000000030
IP: [<ffffffffc118f73c>] qla2x00_mem_free+0x51c/0xcb0 [qla2xxx]
PGD 8000001fcfe4a067 PUD 1fc8f0a067 PMD 0
Oops: 0000 [#1 ] SMP
RIP: 0010:[<ffffffffc118f73c>] [<ffffffffc118f73c>] qla2x00_mem_free+0x51c/0xcb0 [qla2xxx]
RSP: 0018:ffff8ace97a93a30 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8ace8efd0000 RCX: 000000000000488f
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff8ace97a93a60 R08: 000000000001f040 R09: ffffffff8678209b
R10: ffff8acf7d6df040 R11: ffffc591c0fcc980 R12: ffffffff87034800
R13: ffff8acf0e3cc740 R14: ffff8ace8efd0000 R15: 00000000fffffff4
FS: 00007f4cf5449740(0000) GS:ffff8acf7d6c0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000030 CR3: 0000001fc2f6c000 CR4: 00000000007607e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
[<ffffffff86781f18>] ? kobject_put+0x28/0x60
[<ffffffffc119a59c>] qla2x00_probe_one+0x19fc/0x3040 [qla2xxx]
Fixes: efeda3bf912f ("scsi: qla2xxx: Move resource to allow code reuse")
Signed-off-by: Quinn Tran <qutran@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Link: https://lore.kernel.org/r/20231016101749.5059-1-njavali@marvell.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 097c06394c83 upstream ]
2023-12-27 22:01:36 +03:00
Gleb Chesnokov
d3da391be8
scst/include/backport.h: Unbreak the RHEL 8.9 build
2023-12-27 21:13:12 +03:00
Gleb Chesnokov
2d243a71e7
scst: Unbreak the RHEL 9.4 build
...
Fixes: https://github.com/SCST-project/scst/issues/201
2023-12-27 18:27:42 +03:00
Gleb Chesnokov
fd88df1e25
scst_mem: Port to Linux kernel v6.7
...
Support for the following mm layer changes in the Linux kernel v6.7:
- c42d50aefd17 ("mm: shrinker: add infrastructure for dynamically
allocating shrinker")
2023-12-27 18:02:30 +03:00