Skip to content

qla2xxx patches for kernel v5.4

Bart Van Assche linux-scsi 1 version Applied

Status from this message: Applied to 5.4/scsi-queue. Thanks you!

Get series with b4
b4 am [email protected]

Versions newest first

  1. v2 Latest58 patches 4 repliesApplied

Changes in v2 from the cover letter

- Included a regression fix for qla2xxx_eh_abort() in the second patch of this series (the fix Himanshu mentioned in his e-mail).
- Moved a WARN_ON_ONCE() statement from a later patch to the second patch in this series.
- Dropped one patch that renames a function.

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/58qla2xxx: Make qla2x00_abort_srb() again decrease the sp reference countdrivers/scsi/qla2xxx/qla_os.c+2 -00 replies
2/58qla2xxx: Really fix qla2xxx_eh_abort()drivers/scsi/qla2xxx/qla_os.c+21 -00 replies
3/58qla2xxx: Improve Linux kernel coding style conformancedrivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_init.c drivers/scsi/qla2xxx/qla_iocb.c +4 more+22 -220 replies
4/58qla2xxx: Use tabs instead of spaces for indentationdrivers/scsi/qla2xxx/qla_gs.c+39 -390 replies
5/58qla2xxx: Include the <asm/unaligned.h> header file from qla_dsd.hdrivers/scsi/qla2xxx/qla_dsd.h+2 -00 replies
6/58qla2xxx: Remove an include directive from qla_mr.cdrivers/scsi/qla2xxx/qla_mr.c+0 -10 replies
7/58qla2xxx: Remove a superfluous forward declarationdrivers/scsi/qla2xxx/qla_target.c+0 -20 replies
8/58qla2xxx: Declare the fourth ql_dump_buffer() argument constdrivers/scsi/qla2xxx/qla_dbg.c drivers/scsi/qla2xxx/qla_gbl.h+3 -20 replies
9/58qla2xxx: Change the return type of qla2x00_update_ms_fdmi_iocb() into voiddrivers/scsi/qla2xxx/qla_gs.c+1 -30 replies
10/58qla2xxx: Reduce the scope of three local variables in qla2xxx_queuecommand()drivers/scsi/qla2xxx/qla_os.c+4 -30 replies
11/58qla2xxx: Declare qla_tgt_cmd.cdb constdrivers/scsi/qla2xxx/qla_target.h+1 -10 replies
12/58qla2xxx: Change data_dsd into an arraydrivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_iocb.c drivers/scsi/qla2xxx/qla_target.c+6 -60 replies
13/58qla2xxx: Verify locking assumptions at runtimedrivers/scsi/qla2xxx/qla_target.c+8 -00 replies
14/58qla2xxx: Reduce the number of casts in GID list codedrivers/scsi/qla2xxx/qla_dfs.c drivers/scsi/qla2xxx/qla_init.c drivers/scsi/qla2xxx/qla_target.c+14 -220 replies
15/58qla2xxx: Simplify qlt_lport_dump()drivers/scsi/qla2xxx/qla_target.c+3 -150 replies
16/58qla2xxx: Remove a superfluous pointer checkdrivers/scsi/qla2xxx/qla_nvme.c+1 -10 replies
17/58qla2xxx: Remove two superfluous testsdrivers/scsi/qla2xxx/qla_target.c+2 -30 replies
18/58qla2xxx: Simplify qla24xx_abort_sp_done()drivers/scsi/qla2xxx/qla_init.c+5 -70 replies
19/58qla2xxx: Fix session lookup in qlt_abort_work()drivers/scsi/qla2xxx/qla_target.c+1 -30 replies
20/58qla2xxx: Report the firmware status code if a mailbox command failsdrivers/scsi/qla2xxx/qla_mbx.c+5 -10 replies
21/58qla2xxx: Do not corrupt vha->plogi_ack_listdrivers/scsi/qla2xxx/qla_os.c drivers/scsi/qla2xxx/qla_target.c+9 -30 replies
22/58qla2xxx: Use strlcpy() instead of strncpy()drivers/scsi/qla2xxx/qla_mr.c+14 -140 replies
23/58qla2xxx: Complain if a mailbox command times outdrivers/scsi/qla2xxx/qla_mr.c+2 -10 replies
24/58qla2xxx: Complain if parsing the version string failsdrivers/scsi/qla2xxx/qla_tmpl.c+3 -20 replies
25/58qla2xxx: Remove dead codedrivers/scsi/qla2xxx/qla_target.c+0 -30 replies
26/58qla2xxx: Simplify a debug statementdrivers/scsi/qla2xxx/qla_isr.c+1 -10 replies
27/58qla2xxx: Fix qla24xx_process_bidir_cmd()drivers/scsi/qla2xxx/qla_bsg.c+5 -60 replies
28/58qla2xxx: Remove unreachable code from qla83xx_idc_lock()drivers/scsi/qla2xxx/qla_os.c+0 -170 replies
29/58qla2xxx: Suppress a Coveritiy complaint about integer overflowdrivers/scsi/qla2xxx/qla_nx2.c+1 -10 replies
30/58qla2xxx: Suppress multiple Coverity complaint about out-of-bounds accessesdrivers/scsi/qla2xxx/qla_gs.c+4 -40 replies
31/58qla2xxx: Always check the qla2x00_wait_for_hba_online() return valuedrivers/scsi/qla2xxx/qla_attr.c drivers/scsi/qla2xxx/qla_target.c+7 -30 replies
32/58qla2xxx: Declare fourth qla2x00_set_model_info() argument constdrivers/scsi/qla2xxx/qla_gbl.h drivers/scsi/qla2xxx/qla_init.c+3 -30 replies
33/58qla2xxx: Complain if waiting for pending commands times outdrivers/scsi/qla2xxx/qla_init.c drivers/scsi/qla2xxx/qla_nx.c drivers/scsi/qla2xxx/qla_os.c+10 -40 replies
34/58qla2xxx: Check the PCI info string output buffer sizedrivers/scsi/qla2xxx/qla_attr.c drivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_gbl.h +2 more+32 -420 replies
35/58qla2xxx: Use memcpy() and strlcpy() instead of strcpy() and strncpy()drivers/scsi/qla2xxx/qla_init.c drivers/scsi/qla2xxx/qla_mr.c+14 -100 replies
36/58qla2xxx: Complain if a soft reset failsdrivers/scsi/qla2xxx/qla_tmpl.c+1 -10 replies
37/58qla2xxx: Introduce the be_id_t and le_id_t data types for FC src/dst IDsdrivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_gs.c drivers/scsi/qla2xxx/qla_nvme.h +3 more+144 -1730 replies
38/58qla2xxx: Change the return type of qla24xx_read_flash_data()drivers/scsi/qla2xxx/qla_gbl.h drivers/scsi/qla2xxx/qla_sup.c+6 -40 replies
39/58qla2xxx: Check secondary image if reading the primary image failsdrivers/scsi/qla2xxx/qla_init.c+6 -20 replies
40/58qla2xxx: Make it explicit that ELS pass-through IOCBs use little endiandrivers/scsi/qla2xxx/qla_fw.h drivers/scsi/qla2xxx/qla_iocb.c+8 -70 replies
41/58qla2xxx: Set the responder mode if appropriate for ELS pass-through IOCBsdrivers/scsi/qla2xxx/qla_iocb.c+2 -10 replies
42/58qla2xxx: Rework key encoding in qlt_find_host_by_d_id()drivers/scsi/qla2xxx/qla_target.c+2 -40 replies
43/58qla2xxx: Enable type checking for the SRB free and done callback functionsdrivers/scsi/qla2xxx/qla_bsg.c drivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_gbl.h +10 more+54 -1000 replies
44/58qla2xxx: Introduce the function qla2xxx_init_sp()drivers/scsi/qla2xxx/qla_inline.h+15 -130 replies
45/58qla2xxx: Fix a race condition between aborting and completing a SCSI commanddrivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_os.c+8 -380 replies
46/58qla2xxx: Make qlt_handle_abts_completion() more robustdrivers/scsi/qla2xxx/qla_target.c+1 -12 replies
47/58qla2xxx: Modify NVMe include directivesdrivers/scsi/qla2xxx/qla_nvme.h include/linux/nvme-fc-driver.h+2 -10 replies
48/58qla2xxx: Introduce qla2xxx_get_next_handle()drivers/scsi/qla2xxx/qla_gbl.h drivers/scsi/qla2xxx/qla_iocb.c drivers/scsi/qla2xxx/qla_mr.c +1 more+42 -1140 replies
49/58qla2xxx: Make sure that aborted commands are freeddrivers/scsi/qla2xxx/qla_target.c drivers/scsi/qla2xxx/tcm_qla2xxx.c+12 -50 replies
50/58qla2xxx: Complain if sp->done() is not called from the completion pathdrivers/scsi/qla2xxx/qla_init.c drivers/scsi/qla2xxx/qla_isr.c drivers/scsi/qla2xxx/qla_mr.c+12 -00 replies
51/58qla2xxx: Let the compiler check the type of the SCSI command context pointerdrivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_iocb.c drivers/scsi/qla2xxx/qla_nx.c +1 more+20 -300 replies
52/58qla2xxx: Remove superfluous sts_entry_* castsdrivers/scsi/qla2xxx/qla_isr.c+5 -100 replies
53/58qla2xxx: Report invalid mailbox status codesdrivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_init.c+14 -00 replies
54/58qla2xxx: Inline the qla2x00_fcport_event_handler() functiondrivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_gbl.h drivers/scsi/qla2xxx/qla_gs.c +4 more+45 -1330 replies
55/58qla2xxx: Introduce qla2x00_els_dcmd2_free()drivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_gbl.h drivers/scsi/qla2xxx/qla_gs.c +1 more+21 -350 replies
56/58qla2xxx: Remove two superfluous if-testsdrivers/scsi/qla2xxx/qla_gs.c+11 -140 replies
57/58qla2xxx: Simplify qla24xx_async_abort_cmd()drivers/scsi/qla2xxx/qla_init.c+6 -80 replies
58/58qla2xxx: Fix a NULL pointer dereferencedrivers/scsi/qla2xxx/qla_iocb.c+2 -10 replies

Reviews trailers per patch

None of the 58 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchHimanshu Madhani
SeriesT-b R-b
1/58
2/58
3/58
4/58
5/58
6/58
7/58
8/58
9/58
10/58
11/58
12/58
13/58
14/58
15/58
16/58
17/58
18/58
19/58
20/58
21/58
22/58
23/58
24/58
25/58
26/58
27/58
28/58
29/58
30/58
31/58
32/58
33/58
34/58
35/58
36/58
37/58
38/58
39/58
40/58
41/58
42/58
43/58
44/58
45/58
46/58
47/58
48/58
49/58
50/58
51/58
52/58
53/58
54/58
55/58
56/58
57/58
58/58

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 00/58] qla2xxx patches for kernel v5.4

Hi Martin,

The patches in this series improve the robustness of the QLogic Fibre Channel initiator and target drivers. These patches are a result of manual code inspection, analysis of Coverity reports and stress testing of these two drivers. Please consider these patches for kernel version v5.4.

Thanks,

Bart.

Changes compared to v1:
- Included a regression fix for qla2xxx_eh_abort() in the second patch of this series (the fix Himanshu mentioned in his e-mail).
- Moved a WARN_ON_ONCE() statement from a later patch to the second patch in this series.
- Dropped one patch that renames a function.

Bart Van Assche (58):
qla2xxx: Make qla2x00_abort_srb() again decrease the sp reference
count
qla2xxx: Really fix qla2xxx_eh_abort()
qla2xxx: Improve Linux kernel coding style conformance
qla2xxx: Use tabs instead of spaces for indentation
qla2xxx: Include the <asm/unaligned.h> header file from qla_dsd.h
qla2xxx: Remove an include directive from qla_mr.c
qla2xxx: Remove a superfluous forward declaration
qla2xxx: Declare the fourth ql_dump_buffer() argument const
qla2xxx: Change the return type of qla2x00_update_ms_fdmi_iocb() into
void
qla2xxx: Reduce the scope of three local variables in
qla2xxx_queuecommand()
qla2xxx: Declare qla_tgt_cmd.cdb const
qla2xxx: Change data_dsd into an array
qla2xxx: Verify locking assumptions at runtime
qla2xxx: Reduce the number of casts in GID list code
qla2xxx: Simplify qlt_lport_dump()
qla2xxx: Remove a superfluous pointer check
qla2xxx: Remove two superfluous tests
qla2xxx: Simplify qla24xx_abort_sp_done()
qla2xxx: Fix session lookup in qlt_abort_work()
qla2xxx: Report the firmware status code if a mailbox command fails
qla2xxx: Do not corrupt vha->plogi_ack_list
qla2xxx: Use strlcpy() instead of strncpy()
qla2xxx: Complain if a mailbox command times out
qla2xxx: Complain if parsing the version string fails
qla2xxx: Remove dead code
qla2xxx: Simplify a debug statement
qla2xxx: Fix qla24xx_process_bidir_cmd()
qla2xxx: Remove unreachable code from qla83xx_idc_lock()
qla2xxx: Suppress a Coveritiy complaint about integer overflow
qla2xxx: Suppress multiple Coverity complaint about out-of-bounds
accesses
qla2xxx: Always check the qla2x00_wait_for_hba_online() return value
qla2xxx: Declare fourth qla2x00_set_model_info() argument const
qla2xxx: Complain if waiting for pending commands times out
qla2xxx: Check the PCI info string output buffer size
qla2xxx: Use memcpy() and strlcpy() instead of strcpy() and strncpy()
qla2xxx: Complain if a soft reset fails
qla2xxx: Introduce the be_id_t and le_id_t data types for FC src/dst
IDs
qla2xxx: Change the return type of qla24xx_read_flash_data()
qla2xxx: Check secondary image if reading the primary image fails
qla2xxx: Make it explicit that ELS pass-through IOCBs use little
endian
qla2xxx: Set the responder mode if appropriate for ELS pass-through
IOCBs
qla2xxx: Rework key encoding in qlt_find_host_by_d_id()
qla2xxx: Enable type checking for the SRB free and done callback
functions
qla2xxx: Introduce the function qla2xxx_init_sp()
qla2xxx: Fix a race condition between aborting and completing a SCSI
command
qla2xxx: Make qlt_handle_abts_completion() more robust
qla2xxx: Modify NVMe include directives
qla2xxx: Introduce qla2xxx_get_next_handle()
qla2xxx: Make sure that aborted commands are freed
qla2xxx: Complain if sp->done() is not called from the completion path
qla2xxx: Let the compiler check the type of the SCSI command context
pointer
qla2xxx: Remove superfluous sts_entry_* casts
qla2xxx: Report invalid mailbox status codes
qla2xxx: Inline the qla2x00_fcport_event_handler() function
qla2xxx: Introduce qla2x00_els_dcmd2_free()
qla2xxx: Remove two superfluous if-tests
qla2xxx: Simplify qla24xx_async_abort_cmd()
qla2xxx: Fix a NULL pointer dereference

 drivers/scsi/qla2xxx/qla_attr.c    |   6 +-
 drivers/scsi/qla2xxx/qla_bsg.c     |  19 +--
 drivers/scsi/qla2xxx/qla_dbg.c     |   3 +-
 drivers/scsi/qla2xxx/qla_def.h     | 130 ++++++++++----
 drivers/scsi/qla2xxx/qla_dfs.c     |   9 +-
 drivers/scsi/qla2xxx/qla_dsd.h     |   2 +
 drivers/scsi/qla2xxx/qla_fw.h      |   8 +-
 drivers/scsi/qla2xxx/qla_gbl.h     |  33 ++--
 drivers/scsi/qla2xxx/qla_gs.c      | 219 +++++++++---------------
 drivers/scsi/qla2xxx/qla_init.c    | 261 +++++++++++------------------
 drivers/scsi/qla2xxx/qla_inline.h  |  28 ++--
 drivers/scsi/qla2xxx/qla_iocb.c    | 221 +++++++++---------------
 drivers/scsi/qla2xxx/qla_isr.c     |  24 ++-
 drivers/scsi/qla2xxx/qla_mbx.c     |  10 +-
 drivers/scsi/qla2xxx/qla_mid.c     |   4 +-
 drivers/scsi/qla2xxx/qla_mr.c      |  67 ++++----
 drivers/scsi/qla2xxx/qla_nvme.c    |  28 +---
 drivers/scsi/qla2xxx/qla_nvme.h    |   5 +-
 drivers/scsi/qla2xxx/qla_nx.c      |  16 +-
 drivers/scsi/qla2xxx/qla_nx.h      |  14 +-
 drivers/scsi/qla2xxx/qla_nx2.c     |   2 +-
 drivers/scsi/qla2xxx/qla_os.c      | 213 ++++++++++-------------
 drivers/scsi/qla2xxx/qla_sup.c     |   8 +-
 drivers/scsi/qla2xxx/qla_target.c  | 209 +++++++++--------------
 drivers/scsi/qla2xxx/qla_target.h  |  35 ++--
 drivers/scsi/qla2xxx/qla_tmpl.c    |   7 +-
 drivers/scsi/qla2xxx/tcm_qla2xxx.c |  27 ++-
 include/linux/nvme-fc-driver.h     |   2 +
 28 files changed, 677 insertions(+), 933 deletions(-)
Signature · 1 line
2.22.0