From d2416ecdb6b03fc2e4aa40b20cdf919322713224 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke Date: Thu, 10 Mar 2022 14:25:53 +0100 Subject: nvme-tcp: use hash_iov_iter() to calculate the data digest If data digest has been enabled we need to calculate the hash on the received data. As recvmsg() has already filled out the iov_iter we just need to call hash_iov_iter() to calculate the hash. Signed-off-by: Hannes Reinecke --- drivers/nvme/host/tcp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c index 19d8a74071da98..1ba03654011bfc 100644 --- a/drivers/nvme/host/tcp.c +++ b/drivers/nvme/host/tcp.c @@ -956,6 +956,9 @@ static int nvme_tcp_recvmsg_data(struct nvme_tcp_queue *queue) if (WARN_ON(queue->data_digest)) ret = -EOPNOTSUPP; + if (ret > 0 && queue->data_digest) + ret = hash_iov_iter(queue->rcv_hash, &req->iter); + if (ret <= 0) { dev_err(queue->ctrl->ctrl.device, "queue %d failed to receive request %#x data", -- cgit 1.2.3-korg