Bart Van Assche
a94c8eaf0f
scst: Move the set_fs() calls into scst_{read,write}v()
...
This patch does not change any functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8066 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-21 02:56:46 +00:00
Bart Van Assche
3b76bc5b1f
Use KERNEL_DS instead of get_ds()
...
This patch is necessary to make SCST work with Linux kernel v5.1 and
does not change any functionality. See also upstream commit 736706bee329
("get rid of legacy 'get_ds()' function").
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8057 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-18 00:24:56 +00:00
Bart Van Assche
0655c3e76a
iscsi-scst: Fix a use-after-free
...
Avoid that KASAN reports the following complaint:
BUG: KASAN: slab-out-of-bounds in f/0xdc4 [iscsi_scst]
Read of size 8 at addr ffff888be35fd0ec by task iscsiwr0_71/3289
CPU: 42 PID: 3289 Comm: iscsiwr0_71 Tainted: G
sos.debug #1
Hardware name: To be filled by O.E.M.
Call Trace:
dump_stack+0x8e/0xc8
print_address_description+0x73/0x238
kasan_report+0x228/0x251
check_memory_region+0x126/0x12c
__asan_loadN+0xf/0x11
write_data+0x5df/0xdc4 [iscsi_scst]
iscsi_do_send+0x20/0x67 [iscsi_scst]
iscsi_send+0x1f0/0x574 [iscsi_scst]
scst_do_job_wr+0x2ef/0x549 [iscsi_scst]
istwr+0x366/0x4a2 [iscsi_scst]
kthread+0x1df/0x1ef
ret_from_fork+0x3a/0x50
Allocated by task 3063:
save_stack_trace+0x1b/0x1d
kasan_kmalloc.part.1+0x62/0xee
kasan_kmalloc+0x7f/0x8b
kasan_slab_alloc+0x12/0x14
kmem_cache_alloc+0x13d/0x27a
mempool_alloc_slab+0x15/0x17
mempool_alloc+0xdb/0x1f3
scst_alloc_aen+0x96/0x223 [scst]
scst_gen_aen_or_ua+0x16b/0x3d2 [scst]
scst_capacity_data_changed+0x147/0x1cd [scst]
vdev_size_process_store+0x1b5/0x1f4 [scst_vdisk]
scst_process_sysfs_works+0x187/0x2a1 [scst]
sysfs_work_thread_fn+0x301/0x42b [scst]
kthread+0x1df/0x1ef
ret_from_fork+0x3a/0x50
Reported-by: Marc Smith <msmith626@gmail.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8056 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-18 00:23:05 +00:00
Bart Van Assche
d1f7b0aae8
iscsi-scst: Fix multiple checkpatch warnings
...
This patch does not change any functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8050 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-11 03:57:09 +00:00
Bart Van Assche
9df67df132
iscsi-scst: Fix 32-bit compiler warnings
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7910 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-02-08 03:43:35 +00:00
Bart Van Assche
5a1474df43
scst, iscsi-scst: Port to Linux kernel v4.20
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7810 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-10 17:51:41 +00:00
Bart Van Assche
e79fcbd8f3
iscsi-scst: Remove zero-copy TCP/IP support
...
Zero-copy TCP/IP support is deprecated since a while and is no longer
supported for recent kernels. Hence remove it and also all references
to zero-copy TCP/IP support.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7809 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-10 17:50:59 +00:00
Bart Van Assche
e2a17c6a24
Change 'long long int' int 'long long'
...
This patch does not change any functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7505 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-14 03:57:53 +00:00
Vladislav Bolkhovitin
f549829482
Copyrights updated
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7396 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-04-12 03:49:10 +00:00
Bart Van Assche
7c550d4724
iscsi-scst: UEK 4.1.12-103.9.7.el7uek.x86_64 build fix
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7272 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-12-19 16:35:40 +00:00
Bart Van Assche
4c05086b59
scst, iscsi-scst: Introduce scst_read(), scst_write(), scst_readv() and scst_writev()
...
This makes it easier to add support for new kernel versions, e.g. kernel
version v4.14.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7260 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-11-13 05:50:44 +00:00
Bart Van Assche
9e35afe1e0
Annotate fall-through in switch statements in a form recognized by gcc 7
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7216 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-27 15:28:57 +00:00
Vladislav Bolkhovitin
e5e4531049
iscsi-scst: cleanup
...
There's no need to end-align the padding. Plus, it's not optimal to
access front misaligned memory
Reported-by: David Butterfield <dab21774@gmail.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7195 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-25 02:11:06 +00:00
Vladislav Bolkhovitin
68fa7e1a0d
Copyright updates
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7146 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-22 03:19:52 +00:00
Vladislav Bolkhovitin
eaa99a8770
Fix a few minor "extra" compiler warnings (mostly "const" issues)
...
Add "XXX" comments in a few places about potential problems seen in SCST code,
for future investigation and possible repair.
Signed-off-by: David Butterfield <dab21774@gmail.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7123 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-14 01:03:25 +00:00
Vladislav Bolkhovitin
a2e0916fbf
Fix a few compiler messages issued when some extra warnings are enabled:
...
casting const to non-const
uninitialized structure members
non-static local function
missing enumerated switch-value cases
Signed-off-by: David Butterfield <dab21774@gmail.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7122 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-13 23:58:32 +00:00
Bart Van Assche
7f1d8c91b1
iscsi-scst: Port to Linux kernel versions >= v4.7
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7021 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-10-26 21:33:50 +00:00
Bart Van Assche
eff3021fb5
scst: Port to Linux kernel v4.6
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6835 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-03-24 04:08:12 +00:00
Vladislav Bolkhovitin
83d0cb0f46
iscsi-scst: fix possible recursive locking
...
cmnd_done() called from cmnd_put() can take cmd_list_lock, so it must
not be called under it.
Reported and tested by David Chen <david.chen@osnexus.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6821 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-03-02 04:13:42 +00:00
Vladislav Bolkhovitin
a1b613af75
iscsi-scst: clarify comment
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6811 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-02-19 03:12:53 +00:00
Vladislav Bolkhovitin
fa2f54ac9e
Copyrights updated
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6787 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-01-22 04:04:43 +00:00
Bart Van Assche
469fe4a42c
iscsi-scst: Remove superfluous casts
...
The C language does not require to use an explicit cast when assigning
a void * pointer to a pointer of another type.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6633 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-11-09 19:51:17 +00:00
Bart Van Assche
7614eafd64
iscsi-scst: Insert a blank line after declarations
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6616 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-11-07 00:00:42 +00:00
Vladislav Bolkhovitin
45d7f40ec1
Improve release logging
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6478 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-25 02:57:51 +00:00
Vladislav Bolkhovitin
e5e54f312b
iscsi-scst: Move old TM response dropping to preparing new response stage
...
The second TM request can come while the old one, response for which is
going to be delayed, is still being processed, hence no response
prepared yet, so the delayed response should be dropped on the stage of
the new response preparing. Otherwise in this place the old delayed
response will trigger BUG_ON().
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6456 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-31 01:09:58 +00:00
Bart Van Assche
79c8bf1f7c
iscsi-scst, isert-scst: One trace flags variable per kernel module
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6397 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-23 15:01:17 +00:00
Bart Van Assche
26cda0eb38
iscsi-scst: Annotate fall-through cases for Coverity
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6364 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:18:23 +00:00
Bart Van Assche
63cb4a9d40
iscsi-scst: Fix indentation
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6363 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:09:23 +00:00
Bart Van Assche
7c3b2c4ca6
iscsi-scst: Fix spelling in a source code comment
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6321 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 15:53:31 +00:00
Bart Van Assche
0d9d6a6f57
isert-scst: Fix in-tree build
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6312 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-12 16:15:45 +00:00
Bart Van Assche
6aaeca1cd9
Merge iser branch r6234 into trunk
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6235 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-10 15:35:26 +00:00
Vladislav Bolkhovitin
1e78126962
iscsi-scst: update for 3.19 kernels
...
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com > with some improvements
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6187 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-04-24 02:54:52 +00:00
Vladislav Bolkhovitin
5cc7555cd9
iscsi-scst: Rework sparse annotations
...
Do not declare kernel pointers as __user but instead cast these to
__user just before assigning these to iov_base.
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6156 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-03-26 00:33:45 +00:00
Vladislav Bolkhovitin
fe38e4acb2
Copyrights updated
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6146 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-03-19 00:01:03 +00:00
Bart Van Assche
9707f85c0b
Fix kernel 3.17 checkpatch warnings about 'long long unsigned'
...
Avoid that checkpatch reports the following warning:
WARNING: type 'long long unsigned' should be specified in 'unsigned long long' order.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5885 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-11-26 08:16:44 +00:00
Vladislav Bolkhovitin
760b71423a
scst: Remove set_cpus_allowed() invocations
...
Since scst.h contains a backport of the definition of set_cpus_allowed_ptr(),
the set_cpus_allowed() invocations are superfluous. Hence remove these.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5734 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-08-27 02:43:50 +00:00
Vladislav Bolkhovitin
726be64769
iscsi-scst: Handle data buffers with non-zero offset correctly
...
Start at the proper offset in the receive buffer if sg[0].offset != 0.
Return the proper data to the initiator if sg[0].offset != 0.
This patch reworks trunk r5281, "iscsi-scst: fix offset
calculation", February 13, 2014.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5683 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-07-19 03:54:33 +00:00
Vladislav Bolkhovitin
b6f2a47ee8
Change BUG_ON(1) into BUG()
...
With CONFIG_BUG=y both BUG() and BUG_ON(1) halt the system. However,
with CONFIG_BUG=n BUG() halts the system but BUG_ON(1) not. To avoid
such subtleties, change BUG_ON(1) into BUG().
See also patch Josh Triplett, "bug: Make BUG() always stop the machine",
7 April 2014 (commit ID a4b5d580e07875f9be29f62a57c67fbbdbb40ba2).
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5618 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-06-20 04:10:40 +00:00
Vladislav Bolkhovitin
0c66b8aaf7
iscsi-scst: Introduce ARRAY_SIZE()
...
This patch does not change any functionality.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5386 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-26 03:21:25 +00:00
Vladislav Bolkhovitin
b4ba1b24c7
iscsi-scst: fix offset calculation
...
Fixed a subtle bug in iSCSI-SCST with incorrectly calculated offsets
for non-page aligned transfers. Originally discovered, investigated and
fix suggested by Кирилл Тюшев, then Shahar Salzman tested and proved it.
See http://sourceforge.net/mailarchive/message.php?msg_id=31924078
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5281 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-13 04:02:56 +00:00
Vladislav Bolkhovitin
00851a7501
Merge of adding iSER web page and copyright updates from the iSER branch
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5241 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-28 05:17:26 +00:00
Vladislav Bolkhovitin
10ca1d2f20
Copyrights updated
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4767 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-02-20 02:05:29 +00:00
Vladislav Bolkhovitin
05bff10f05
During nexus loss reservations should not be cleared + add possibility for device specific states be retained during nexus loss as well.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4546 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-04 20:32:59 +00:00
Vladislav Bolkhovitin
fda632ae0b
iscsi-scst: Eliminate a cast
...
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4479 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-08-27 20:38:37 +00:00
Vladislav Bolkhovitin
eb95049061
Copyrights updated + cleanups
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4216 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-18 02:26:39 +00:00
Vladislav Bolkhovitin
90670b1c83
scst_rx_mgmt_fn_lun(): Change 3rd arg from u8 * into void *
...
This change allows to remove several casts and hence improves
source code readability.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4169 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-27 01:40:45 +00:00
Vladislav Bolkhovitin
937b2d550d
Update for kernel 3.3
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4164 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-23 21:48:11 +00:00
Vladislav Bolkhovitin
7872837b6b
Replace list_entry((a)->next, b, c) by list_first_entry(a, b, c).
...
BSD-signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3965 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-12-10 03:50:24 +00:00
Vladislav Bolkhovitin
daa5da87af
Several wait loops in the SCST source code are similar. Move the common code
...
into a new macro called wait_event_locked().
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
+
Micro-optimize wait_event_locked(). Switch from default_wake_function() to
autoremove_wake_function() (via DEFINE_WAIT()). The result is that
wait_queue_head_t.lock is locked once instead of twice for wakeup + wait queue
removal.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3591 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-18 21:15:59 +00:00
Bart Van Assche
4839c8167f
iscsi-scst: get rid of two "suspect code indent for conditional statements" checkpatch complaints.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3497 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-01 07:19:12 +00:00