aboutsummaryrefslogtreecommitdiff
path: root/drivers/nvme/target
diff options
context:
space:
mode:
authorGravatar Hannes Reinecke <hare@suse.de> 2024-03-08 08:11:05 +0100
committerGravatar Keith Busch <kbusch@kernel.org> 2024-03-08 06:49:57 -0800
commit0889d13b9e1cbef49e802ae09f3b516911ad82a1 (patch)
tree3a494a2f56216669f88e8531d7cfd5fe9b655261 /drivers/nvme/target
parentnvme: change shutdown timeout setting message (diff)
downloadlinux-0889d13b9e1cbef49e802ae09f3b516911ad82a1.tar.gz
linux-0889d13b9e1cbef49e802ae09f3b516911ad82a1.tar.bz2
linux-0889d13b9e1cbef49e802ae09f3b516911ad82a1.zip
nvmet-tcp: do not continue for invalid icreq
When the length check for an icreq sqe fails we should not continue processing but rather return immediately as all other contents of that sqe cannot be relied on. Signed-off-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'drivers/nvme/target')
-rw-r--r--drivers/nvme/target/tcp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/nvme/target/tcp.c b/drivers/nvme/target/tcp.c
index c8655fc5aa5b..022d17bd36bf 100644
--- a/drivers/nvme/target/tcp.c
+++ b/drivers/nvme/target/tcp.c
@@ -898,6 +898,7 @@ static int nvmet_tcp_handle_icreq(struct nvmet_tcp_queue *queue)
pr_err("bad nvme-tcp pdu length (%d)\n",
le32_to_cpu(icreq->hdr.plen));
nvmet_tcp_fatal_error(queue);
+ return -EPROTO;
}
if (icreq->pfv != NVME_TCP_PFV_1_0) {