stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Sagi Grimberg <sagig@mellanox.com>,
	Jenny Falkovich <jennyf@mellanox.com>,
	Nicholas Bellinger <nab@linux-iscsi.org>
Subject: [PATCH 4.0 08/22] iser-target: Fix variable-length response error completion
Date: Fri, 26 Jun 2015 18:08:50 -0700	[thread overview]
Message-ID: <20150627010854.320000737@linuxfoundation.org> (raw)
In-Reply-To: <20150627010854.064848055@linuxfoundation.org>

4.0-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Sagi Grimberg <sagig@mellanox.com>

commit 9253e667ab50fd4611a60e1cdd6a6e05a1d91cf1 upstream.

Since commit "2426bd456a6 target: Report correct response ..."
we might get a command with data_size that does not fit to
the number of allocated data sg elements. Given that we rely on
cmd t_data_nents which might be different than the data_size,
we sometimes receive local length error completion. The correct
approach would be to take the command data_size into account when
constructing the ib sg_list.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Jenny Falkovich <jennyf@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/infiniband/ulp/isert/ib_isert.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/infiniband/ulp/isert/ib_isert.c
+++ b/drivers/infiniband/ulp/isert/ib_isert.c
@@ -2316,7 +2316,6 @@ isert_build_rdma_wr(struct isert_conn *i
 	page_off = offset % PAGE_SIZE;
 
 	send_wr->sg_list = ib_sge;
-	send_wr->num_sge = sg_nents;
 	send_wr->wr_id = (uintptr_t)&isert_cmd->tx_desc;
 	/*
 	 * Perform mapping of TCM scatterlist memory ib_sge dma_addr.
@@ -2336,14 +2335,17 @@ isert_build_rdma_wr(struct isert_conn *i
 			  ib_sge->addr, ib_sge->length, ib_sge->lkey);
 		page_off = 0;
 		data_left -= ib_sge->length;
+		if (!data_left)
+			break;
 		ib_sge++;
 		isert_dbg("Incrementing ib_sge pointer to %p\n", ib_sge);
 	}
 
+	send_wr->num_sge = ++i;
 	isert_dbg("Set outgoing sg_list: %p num_sg: %u from TCM SGLs\n",
 		  send_wr->sg_list, send_wr->num_sge);
 
-	return sg_nents;
+	return send_wr->num_sge;
 }
 
 static int



  parent reply	other threads:[~2015-06-27  1:09 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-27  1:08 [PATCH 4.0 00/22] 4.0.7-stable review Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 01/22] crypto: caam - improve initalization for context state saves Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 02/22] crypto: caam - fix RNG buffer cache alignment Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 04/22] clk: at91: pll: fix input range validity check Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 05/22] clk: at91: fix h32mx prototype inclusion in pmc header Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 06/22] ALSA: hda - adding a DAC/pin preference map for a HP Envy TS machine Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 07/22] tracing: Have filter check for balanced ops Greg Kroah-Hartman
2015-06-27  1:08 ` Greg Kroah-Hartman [this message]
2015-06-27  1:08 ` [PATCH 4.0 09/22] iser-target: Fix possible use-after-free Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 10/22] drm/mgag200: Reject non-character-cell-aligned mode widths Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 11/22] drm/i915: Always reset vma->ggtt_view.pages cache on unbinding Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 14/22] ath3k: Add support of 0489:e076 AR3012 device Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 15/22] ath3k: add support of 13d3:3474 " Greg Kroah-Hartman
2015-06-27  1:08 ` [PATCH 4.0 17/22] cdc-acm: Add support of ATOL FPrint fiscal printers Greg Kroah-Hartman
2015-06-27  1:09 ` [PATCH 4.0 18/22] ARM: EXYNOS: Fix failed second suspend on Exynos4 Greg Kroah-Hartman
2015-06-27  1:09 ` [PATCH 4.0 19/22] kprobes/x86: Return correct length in __copy_instruction() Greg Kroah-Hartman
2015-06-27  1:09 ` [PATCH 4.0 20/22] dm: fix NULL pointer when clone_and_map_rq returns !DM_MAPIO_REMAPPED Greg Kroah-Hartman
2015-06-27  1:09 ` [PATCH 4.0 21/22] drm/i915: Avoid GPU hang when coming out of s3 or s4 Greg Kroah-Hartman
2015-06-27  1:09 ` [PATCH 4.0 22/22] powerpc/powernv: Restore non-volatile CRs after nap Greg Kroah-Hartman
2015-06-27  3:13 ` [PATCH 4.0 00/22] 4.0.7-stable review Shuah Khan
2015-06-27  6:07 ` Guenter Roeck
2015-06-27  9:04 ` Sudip Mukherjee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150627010854.320000737@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=jennyf@mellanox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nab@linux-iscsi.org \
    --cc=sagig@mellanox.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).