linux/drivers/nvme/target
Maurizio Lombardi 89047f0089 nvme-tcp: can't set sk_user_data without write_lock
[ Upstream commit 0755d3be2d ]

The sk_user_data pointer is supposed to be modified only while
holding the write_lock "sk_callback_lock", otherwise
we could race with other threads and crash the kernel.

we can't take the write_lock in nvmet_tcp_state_change()
because it would cause a deadlock, but the release_work queue
will set the pointer to NULL later so we can simply remove
the assignment.

Fixes: b5332a9f3f ("nvmet-tcp: fix incorrect locking in state_change sk callback")

Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2021-07-20 16:05:53 +02:00
..
admin-cmd.c nvmet: remove unsupported command noise 2021-05-22 11:40:54 +02:00
configfs.c nvmet: fix a memory leak 2020-08-21 17:14:27 -06:00
core.c nvmet: fix false keep-alive timeout when a controller is torn down 2021-06-16 12:01:38 +02:00
discovery.c nvmet: return proper error code from discovery ctrl 2021-05-11 14:47:26 +02:00
fabrics-cmd.c nvmet: add metadata/T10-PI support 2020-05-27 07:12:40 +02:00
fc.c nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst() 2021-07-14 16:56:00 +02:00
fcloop.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
io-cmd-bdev.c nvmet: fix inline bio check for bdev-ns 2021-05-19 10:13:14 +02:00
io-cmd-file.c nvmet: seset ns->file when open fails 2021-05-26 12:06:50 +02:00
Kconfig nvmet: introduce the passthru Kconfig option 2020-07-29 07:45:21 +02:00
loop.c nvme-loop: do not warn for deleted controllers during reset 2021-06-18 10:00:05 +02:00
Makefile nvmet: add passthru code to process commands 2020-07-29 07:45:21 +02:00
nvmet.h nvmet: fix false keep-alive timeout when a controller is torn down 2021-06-16 12:01:38 +02:00
passthru.c nvmet: don't use BLK_MQ_REQ_NOWAIT for passthru 2020-10-22 15:28:02 +02:00
rdma.c nvmet-rdma: Fix NULL deref when SEND is completed with error 2021-05-19 10:13:14 +02:00
tcp.c nvme-tcp: can't set sk_user_data without write_lock 2021-07-20 16:05:53 +02:00
trace.c nvmet: trace: parse Get LBA Status command in detail 2019-08-29 12:55:01 -07:00
trace.h nvmet: fix a NULL pointer dereference when tracing the flush command 2020-10-27 10:02:50 +01:00