Commit Graph

6019 Commits

Author SHA1 Message Date
Bart Van Assche
8ed7f4bbc1 qla2x00t-32gbit: Add a runtime array bounds check
Complain if the msix_entries[] array is accessed outside its bounds.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8164 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:17:27 +00:00
Bart Van Assche
556a7f6cf2 scst: Support the SLUB allocator
Although the SLAB allocator exports the kmalloc_track_caller() function,
the SLUB allocator does not. Hence use kmalloc() instead of
kmalloc_track_caller().


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8163 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:16:51 +00:00
Bart Van Assche
1c75b0fd84 scst_mem: Avoid passing a too large value to cpus_online()
This patch avoids that the following warning is reported against a debug
kernel:

WARNING: CPU: 0 PID: 3343 at include/linux/cpumask.h:117 cpumask_check+0x31/0x40 [scst]()
CPU: 0 PID: 3343 Comm: modprobe Tainted: G           O    4.3.6-dbg+ #7
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
Call Trace:
 [<ffffffff812b868e>] dump_stack+0x52/0x84
 [<ffffffff8105cb55>] warn_slowpath_common+0x95/0xe0
 [<ffffffff8105cbba>] warn_slowpath_null+0x1a/0x20
 [<ffffffffa03bd8d1>] cpumask_check+0x31/0x40 [scst]
 [<ffffffffa03bd8f1>] cpumask_test_cpu+0x11/0x30 [scst]
 [<ffffffffa03c073f>] scst_sgv_pools_init+0x18f/0x410 [scst]
 [<ffffffff815ca2d5>] ? _raw_spin_unlock+0x35/0x60
 [<ffffffff81206cd5>] ? nr_blockdev_pages+0x65/0x70
 [<ffffffffa0791b64>] init_scst+0xa4c/0xce6 [scst]
 [<ffffffff8100035e>] ? do_one_initcall+0x9e/0x1d0
 [<ffffffff810b4fd0>] ? trace_hardirqs_on_caller+0x100/0x1c0
 [<ffffffff810b509d>] ? trace_hardirqs_on+0xd/0x10
 [<ffffffffa0791118>] ? scst_print_config+0x118/0x118 [scst]
 [<ffffffff8100036d>] do_one_initcall+0xad/0x1d0
 [<ffffffff810f99fa>] do_init_module+0x6a/0x210
 [<ffffffff810fc491>] load_module+0x551/0x750
 [<ffffffff810f8950>] ? mod_sysfs_teardown+0x140/0x140
 [<ffffffff810f8400>] ? module_sect_show+0x30/0x30
 [<ffffffff810f8a33>] ? copy_chunked_from_user+0x63/0xa0
 [<ffffffff810fc85f>] SyS_init_module+0xdf/0x120
 [<ffffffff815ca6f2>] entry_SYSCALL_64_fastpath+0x12/0x76


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8162 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:15:57 +00:00
Bart Van Assche
976595dccb scst: Also unload the qla2xxx_scst kernel module when stopping SCST
Make sure that the qla2xxx_scst kernel module is reloaded after an upgrade
of SCST. 


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8161 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:14:24 +00:00
Bart Van Assche
dffb910c00 Update
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8160 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 17:16:46 +00:00
Bart Van Assche
6d89d0ad19 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8159 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 01:06:45 +00:00
Bart Van Assche
c2214b2150 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8158 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 01:06:25 +00:00
Bart Van Assche
8a10f5c744 qla2x00t-32gbit: Calculate min_vecs correctly for kernel versions < v4.8
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8157 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:06:34 +00:00
Bart Van Assche
8258e882d0 qla2x00t-32gbit: Remove a superfluous assignment from the pre-v3.14 code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8156 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:05:54 +00:00
Bart Van Assche
e55a145f3b qla2x00t-32gbit: Add -Wno-stringop-truncation to the compiler options
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8155 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:05:20 +00:00
Bart Van Assche
304ab2ac64 qla2x00t-32gbit: Fix qla24xx_enable_msix() for kernel versions before v3.14
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8154 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:04:38 +00:00
Bart Van Assche
2b09d01896 qla2x00t-32gbit: Only free 'entries' after its last use
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8153 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:04:14 +00:00
Bart Van Assche
0fe36f31ac qla2x00t-32gbit: Remove pci_irq_vector() backport
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8152 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:03:47 +00:00
Bart Van Assche
3c9d681a5f qla2x00t-32gbit, target: Move variable declarations into a header file
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8151 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:03:28 +00:00
Bart Van Assche
c749a72feb scst/include/backport.h: Add a mempool_destroy() backport
This patch makes it safe to call mempool_destroy(NULL) for kernel versions
before v4.3.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8150 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:03:04 +00:00
Bart Van Assche
b011fdf316 scst/include/backport.h: Add a kmem_cache_destroy() backport
This patch makes it safe to call kmem_cache_destroy(NULL) on kernel v4.2
and before.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8149 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-04 00:37:15 +00:00
Bart Van Assche
3796f42abb nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8148 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 13:55:05 +00:00
Bart Van Assche
dc60296d1d nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8147 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 04:42:05 +00:00
Bart Van Assche
090aa93013 qla2x00t-32gbit: Fix a false positive compiler warning when building against v4.9
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8146 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 01:00:46 +00:00
Bart Van Assche
694ea5608a qla2x00t-32gbit, target: Backport to kernel-3.0
Avoid using se_cmd.t_task_cdb because that member is not available
in kernel v3.0.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8145 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 00:57:59 +00:00
Bart Van Assche
fd866a8553 qla2x00t-32gbit, target: Stop using se_sess->sess_tearing_down
Since se_sess->sess_tearing_down is not available in older kernel versions,
avoid using it.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8144 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 00:55:58 +00:00
Bart Van Assche
48c6c5d3e3 qla2x00t-32gbit: Fix a kernel v3.6 compiler warning
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8143 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 00:49:15 +00:00
Bart Van Assche
a1ae8be4d7 scst/include/backport.h: Add dummy pcie_capability_read_*() backports
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8142 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 00:48:15 +00:00
Bart Van Assche
62ffb82e11 qla2x00t-32gbit: Fix a compiler warning
Avoid that the compiler complains about 'qentry' and 'i' not being used
when building against an older kernel version.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8141 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 00:47:42 +00:00
Bart Van Assche
cc8a7d0ae9 qla2x00t-32gbit, target: Export qla_tgt_mutex
This patch fixes a link-time error.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8140 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:17:32 +00:00
Bart Van Assche
5acd02c878 qla2x00t-32gbit: Define qla24xx_build_scsi_crc_2_iocbs() also if PI is disabled
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8139 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:16:44 +00:00
Bart Van Assche
002b335a27 qla2x00t-32gbit/Makefile_in-tree: Remove unused code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8138 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:16:03 +00:00
Bart Van Assche
3c75a7c47e scst/include/backport.h: Add an IS_ENABLED() backport
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8137 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:15:18 +00:00
Bart Van Assche
621e67205f qla2x00t-32gbit, target: Define qlt_handle_dif_error() also if PI is disabled
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8136 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:14:40 +00:00
Bart Van Assche
42c39e73a0 qla2x00t-32gbit: Only include <linux/bsg-lib.h> if available
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8135 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:13:33 +00:00
Bart Van Assche
672b0d076e qla2x00t-32gbit, target: Only initialize session members used by SCST
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8134 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:13:02 +00:00
Bart Van Assche
41dd8494f7 qla2x00t-32gbit: Only include <linux/nvme.h> if available
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8133 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:12:16 +00:00
Bart Van Assche
7944db8387 scripts/kernel-functions: Fix a check that controls whether or not a patch should be applied
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8132 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:11:45 +00:00
Bart Van Assche
6d13e7783d qla2x00t-32gbit, target: Do not use se_cmd.priv
se_cmd.priv is not available in older kernel versions. Hence do not use it.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8131 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:11:02 +00:00
Bart Van Assche
ef1b78ba49 scst/include/backport.h: Add an alloc_workqueue() backport
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8130 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:09:54 +00:00
Bart Van Assche
e1de99f312 qla2x00t-32gbit: Remove debug output of variables not set by SCST
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8129 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:09:08 +00:00
Bart Van Assche
68e414508c qla2x00t-32gbit, target: Minimize target core include directives
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8128 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:08:12 +00:00
Bart Van Assche
7c66c2a47c qla2x00t-32gbit: Remove an obsolete comment
The code that grabs the host lock has been removed considerable time ago.
Hence also remove the comment that refers to the host lock.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8127 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:07:32 +00:00
Bart Van Assche
2e530a04ba qla2x00t-32gbit, target: Make sqa_xmit_response() easier to read
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8126 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:06:20 +00:00
Bart Van Assche
bd3543fc7d qla2x00t-32gbit: Use pci_enable_msix_range() on RHEL 6
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8125 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:04:27 +00:00
Bart Van Assche
5ce12b8c42 qla2x00t-32gbit, target: Fix code for supporting older kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8124 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:03:43 +00:00
Bart Van Assche
b983038d5e qla2x00t-32gbit, target: Fix an "undefined symbol" error
Fixes: commit a65843ec45 ("qla2x00t-32gbit, target: Fix W=1 warnings" / r8093)



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8123 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:02:47 +00:00
Bart Van Assche
de28843d9f Makefiles: Simplify Module.symvers handling
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8122 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 21:13:13 +00:00
Bart Van Assche
6cb1d158e7 Makefiles: Fix $(SCST_DIR)
Fixes: dc7e039124 ("Makefiles: Remove most instances of $(SCST_INC_DIR)") (r8079)


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8121 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 21:11:17 +00:00
Bart Van Assche
6eb8e72ea6 scripts/kernel-functions: Override kernel gcc version detection
Older kernels do not support recent gcc versions. Hence override the kernel
version when building against an older kernel.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8120 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 16:34:59 +00:00
Bart Van Assche
262c7f3b64 scripts/kernel-functions: Check local kernel git repo before downloading
This approach works faster than downloading kernel source code tarballs.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8119 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 16:31:29 +00:00
Bart Van Assche
48f37a91a6 scripts/kernel-functions: Rename ${kernel_sources} into ${kernel_downloads}
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8118 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 16:29:21 +00:00
Bart Van Assche
0dceefe878 qla2x00t, scripts: Introduce download_and_extract_kernel_tree()
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8117 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 16:28:44 +00:00
Bart Van Assche
d790fc4cb3 qla2x00t-32gbit: Fix the build against upstream kernel v3.8
See also Linux kernel commit cf0282004166 ("UAPI: (Scripted) Disintegrate
include/scsi/fc") # v3.9.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8116 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 16:27:59 +00:00
Bart Van Assche
0c1d1f8c98 qla2x00t-32gbit, target: Backport to kernel v3.11 and before
Note: this code has not yet been tested.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8115 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 16:26:45 +00:00