]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
nvmet-tcp: fix maxh2cdata icresp parameter
authorSagi Grimberg <sagi@grimberg.me>
Wed, 26 Feb 2020 00:42:27 +0000 (16:42 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Apr 2020 14:12:01 +0000 (16:12 +0200)
commit 9cda34e37489244a8c8628617e24b2dbc8a8edad upstream.

MAXH2CDATA is not zero based. Also no reason to limit ourselves to
1M transfers as we can do more easily. Make this an arbitrary limit
of 16M.

Reported-by: Wenhua Liu <liuw@vmware.com>
Cc: stable@vger.kernel.org # v5.0+
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvme/target/tcp.c

index 5bb5342b8d0c7a729d6f7a1aff8f157cf59fe5b4..5b535f2e71614bb9738dafc017145cf1e846b483 100644 (file)
@@ -794,7 +794,7 @@ static int nvmet_tcp_handle_icreq(struct nvmet_tcp_queue *queue)
        icresp->hdr.pdo = 0;
        icresp->hdr.plen = cpu_to_le32(icresp->hdr.hlen);
        icresp->pfv = cpu_to_le16(NVME_TCP_PFV_1_0);
-       icresp->maxdata = cpu_to_le32(0xffff); /* FIXME: support r2t */
+       icresp->maxdata = cpu_to_le32(0x400000); /* 16M arbitrary limit */
        icresp->cpda = 0;
        if (queue->hdr_digest)
                icresp->digest |= NVME_TCP_HDR_DIGEST_ENABLE;