]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
IB/hfi1: Add limit test for RC/UC send via loopback
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Thu, 17 Jan 2019 20:42:16 +0000 (12:42 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 Feb 2019 16:27:43 +0000 (17:27 +0100)
commitdc0db9e2ca03262709eb7db536d643c60ec49a1e
treea6312b60de07ffc174cf01555822702da55a898b
parent21c2697bb9ccaeaec620aa95ea143f64d2d3772b
IB/hfi1: Add limit test for RC/UC send via loopback

commit 09ce351dff8e7636af0beb72cd4a86c3904a0500 upstream.

Fix potential memory corruption and panic in loopback for IB_WR_SEND
variants.

The code blindly assumes the posted length will fit in the fetched rwqe,
which is not a valid assumption.

Fix by adding a limit test, and triggering the appropriate send completion
and putting the QP in an error state.  This mimics the handling for
non-loopback QPs.

Fixes: 15703461533a ("IB/{hfi1, qib, rdmavt}: Move ruc_loopback to rdmavt")
Cc: <stable@vger.kernel.org> #v4.20+
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/infiniband/sw/rdmavt/qp.c