linux/drivers/target
Bart Van Assche de7ee9a20c tcm_fc: Wait for command completion before freeing a session
This patch avoids that the following kernel crash can occur with
later patches in this patch series:

general protection fault: 0000 [#1] SMP
CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted 4.3.0-rc1-debug+ #1
Workqueue: tmr-fileio target_tmr_work [target_core_mod]
Call Trace:
 [<ffffffff810a6915>] lock_acquire+0x65/0x90
 [<ffffffff815e740b>] _raw_spin_lock_irqsave+0x4b/0x60
 [<ffffffffa03bc7ca>] target_release_cmd_kref+0x2a/0xa0 [target_core_mod]
 [<ffffffffa03bd418>] target_put_sess_cmd+0x28/0x50 [target_core_mod]
 [<ffffffffa03bad50>] core_tmr_lun_reset+0x390/0x640 [target_core_mod]
 [<ffffffffa03bce50>] target_tmr_work+0x80/0xd0 [target_core_mod]
 [<ffffffff81070e6d>] process_one_work+0x19d/0x430
 [<ffffffff8107120f>] worker_thread+0x10f/0x460
 [<ffffffff810772ba>] kthread+0xea/0x100
 [<ffffffff815e7a2f>] ret_from_fork+0x3f/0x70

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2016-01-07 13:57:55 -08:00
..
iscsi iscsi-target: Fix indentation + spelling + unreachable code 2016-01-06 13:39:19 -08:00
loopback tcm_loop: Show address of tpg in configfs 2015-11-29 03:01:45 -08:00
sbp sbp-target: Remove a superfluous forward declaration 2016-01-06 13:39:53 -08:00
tcm_fc tcm_fc: Wait for command completion before freeing a session 2016-01-07 13:57:55 -08:00
Kconfig target: Put TCMU under a new config option 2015-04-19 22:41:12 -07:00
Makefile target: Put TCMU under a new config option 2015-04-19 22:41:12 -07:00
target_core_alua.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-07-04 14:13:43 -07:00
target_core_alua.h target: Subsume se_port + t10_alua_tg_pt_gp_member into se_lun 2015-06-01 00:26:38 -07:00
target_core_configfs.c target: Fix a memory leak in target_dev_lba_map_store() 2016-01-07 13:57:55 -08:00
target_core_device.c target/sbc: Add LBPRZ attribute + control CDB emulation 2016-01-06 13:39:55 -08:00
target_core_fabric_configfs.c target: use per-attribute show and store methods 2015-10-13 22:17:49 -07:00
target_core_fabric_lib.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-07-04 14:13:43 -07:00
target_core_file.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-07-04 14:13:43 -07:00
target_core_file.h target/file: Remove fd_prot bounce buffer 2015-05-30 22:41:42 -07:00
target_core_hba.c target: Fix target_sense_desc_format NULL pointer dereference 2015-09-24 23:17:23 -07:00
target_core_iblock.c target/sbc: Add LBPRZ attribute + control CDB emulation 2016-01-06 13:39:55 -08:00
target_core_iblock.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_internal.h target: use per-attribute show and store methods 2015-10-13 22:17:49 -07:00
target_core_pr.c target: Fix spelling + remove set-but-not-used variables 2016-01-06 13:38:37 -08:00
target_core_pr.h target: use 64-bit LUNs 2015-06-15 23:26:01 -07:00
target_core_pscsi.c block: add a bi_error field to struct bio 2015-07-29 08:55:15 -06:00
target_core_pscsi.h SCSI misc on 20150622 2015-06-23 15:55:44 -07:00
target_core_rd.c Merge branch 'for-4.3/sg' of git://git.kernel.dk/linux-block 2015-09-02 13:22:38 -07:00
target_core_rd.h target/rd: Add support for protection SGL setup + release 2014-01-19 02:22:05 +00:00
target_core_sbc.c target/sbc: Add LBPRZ attribute + control CDB emulation 2016-01-06 13:39:55 -08:00
target_core_spc.c target/sbc: Add LBPRZ attribute + control CDB emulation 2016-01-06 13:39:55 -08:00
target_core_stat.c target: use per-attribute show and store methods 2015-10-13 22:17:49 -07:00
target_core_tmr.c target: Fix spelling + remove set-but-not-used variables 2016-01-06 13:38:37 -08:00
target_core_tpg.c target: Remove an unused variable 2016-01-07 13:57:53 -08:00
target_core_transport.c target: Support aborting tasks with a 64-bit tag 2016-01-07 13:57:54 -08:00
target_core_ua.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-07-04 14:13:43 -07:00
target_core_ua.h target: Send UA when changing LUN inventory 2015-06-23 00:43:02 -07:00
target_core_user.c target/user: Allow user to set block size before enabling device 2016-01-07 13:57:51 -08:00
target_core_xcopy.c target: Attach EXTENDED_COPY local I/O descriptors to xcopy_pt_sess 2015-09-11 00:32:26 -07:00
target_core_xcopy.h target: Add support for EXTENDED_COPY copy offload emulation 2013-09-10 16:48:43 -07:00