| From 1eb822aa82a1d081dee7bb5cb40f1835a63c4a3a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 27 Oct 2021 09:49:27 +0300 |
| Subject: nvmet-tcp: fix header digest verification |
| |
| From: Amit Engel <amit.engel@dell.com> |
| |
| [ Upstream commit 86aeda32b887cdaeb0f4b7bfc9971e36377181c7 ] |
| |
| Pass the correct length to nvmet_tcp_verify_hdgst, which is the pdu |
| header length. This fixes a wrong behaviour where header digest |
| verification passes although the digest is wrong. |
| |
| Signed-off-by: Amit Engel <amit.engel@dell.com> |
| Reviewed-by: Sagi Grimberg <sagi@grimberg.me> |
| Signed-off-by: Christoph Hellwig <hch@lst.de> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/nvme/target/tcp.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/nvme/target/tcp.c b/drivers/nvme/target/tcp.c |
| index 1328ee373e596..6b3d1ba7db7ee 100644 |
| --- a/drivers/nvme/target/tcp.c |
| +++ b/drivers/nvme/target/tcp.c |
| @@ -1020,7 +1020,7 @@ recv: |
| } |
| |
| if (queue->hdr_digest && |
| - nvmet_tcp_verify_hdgst(queue, &queue->pdu, queue->offset)) { |
| + nvmet_tcp_verify_hdgst(queue, &queue->pdu, hdr->hlen)) { |
| nvmet_tcp_fatal_error(queue); /* fatal */ |
| return -EPROTO; |
| } |
| -- |
| 2.33.0 |
| |