]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
IB/rdmavt: Fix loopback send with invalidate ordering
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Tue, 26 Feb 2019 16:45:16 +0000 (08:45 -0800)
committerSeth Forshee <seth.forshee@canonical.com>
Mon, 25 Mar 2019 15:47:27 +0000 (10:47 -0500)
commitb9a3136924ec5667744d8da2d4bd3f6abf7134bb
treedcd8d7d9c4766afd59e5c71d0903bc8d697b772d
parentfff0ade09d72341cc4ac450cb29d17f285b00cb9
IB/rdmavt: Fix loopback send with invalidate ordering

BugLink: https://bugs.launchpad.net/bugs/1821607
commit 38bbc9f0381550d1d227fc57afa08436e36b32fc upstream.

The IBTA spec notes:

o9-5.2.1: For any HCA which supports SEND with Invalidate, upon receiving
an IETH, the Invalidate operation must not take place until after the
normal transport header validation checks have been successfully
completed.

The rdmavt loopback code does the validation after the invalidate.

Fix by relocating the operation specific logic for all SEND variants until
after the validity checks.

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>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
drivers/infiniband/sw/rdmavt/qp.c