Linux RDMA and InfiniBand development
 help / color / mirror / Atom feed
From: Jacob Moroni <jmoroni@google.com>
To: tatyana.e.nikolova@intel.com, jgg@ziepe.ca, leon@kernel.org
Cc: linux-rdma@vger.kernel.org, Jacob Moroni <jmoroni@google.com>
Subject: [PATCH rdma-next 0/4] RDMA/irdma: Fix SRQ completion handling
Date: Fri,  6 Nov 2026 22:11:56 +0000	[thread overview]
Message-ID: <20261106221201.2266301-1-jmoroni@google.com> (raw)

SRQ support was introduced along with GEN3 HW support, but the kernel
implementation contained several bugs which rendered it unusable for
kernel consumers.

- The QP handle was being loaded from the incorrect offset, which
  would cause a crash/hang upon receiving the first receive completion
  for an SRQ-associated QP.
- Similar to above, the CQ scrubbing logic was scrubbing the wrong
  CQE offset, which would leave stale CQEs in the CQ for a QP that
  has been destroyed.
- When SRQ CQEs were scrubbed, the SRQ slots weren't being released.
- A NULL dereference could occur during CQ poll if scrubbed CQEs
  happen to be in the ring at the time of polling, due to the NULL
  check being located after the pointer was dereferenced.

SRQ functionality was verified using nvmet-rdma with use_srq=1 with
sequential+parallel I/O, disconnects under load, etc.

Jacob Moroni (4):
  RDMA/irdma: Fix QP handle assignment for SRQ completions
  RDMA/irdma: Check QP handle before decoding CQE errors
  RDMA/irdma: Fix CQ scrub for SRQ associated QPs
  RDMA/irdma: Release SRQ slots during CQ scrub

 drivers/infiniband/hw/irdma/uk.c   | 64 ++++++++++++++++++++----------
 drivers/infiniband/hw/irdma/user.h |  2 +-
 2 files changed, 44 insertions(+), 22 deletions(-)


base-commit: e50525a486300e5ff8014c9985b8477b2fca0368
-- 
2.56.0.455.g6c5a503b38-goog


             reply	other threads:[~2026-11-06 22:12 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-06 22:11 Jacob Moroni [this message]
2026-11-06 22:11 ` [PATCH rdma-next 1/4] RDMA/irdma: Fix QP handle assignment for SRQ completions Jacob Moroni
2026-11-06 22:21   ` sashiko-bot
2026-11-10 21:24   ` David Hu
2026-11-10 23:08     ` Jacob Moroni
2026-11-11 17:35       ` David Hu
2026-11-06 22:11 ` [PATCH rdma-next 2/4] RDMA/irdma: Check QP handle before decoding CQE errors Jacob Moroni
2026-11-06 22:22   ` sashiko-bot
2026-11-06 22:11 ` [PATCH rdma-next 3/4] RDMA/irdma: Fix CQ scrub for SRQ associated QPs Jacob Moroni
2026-11-06 22:35   ` sashiko-bot
2026-11-06 22:12 ` [PATCH rdma-next 4/4] RDMA/irdma: Release SRQ slots during CQ scrub Jacob Moroni
2026-11-06 22:30   ` sashiko-bot

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=20261106221201.2266301-1-jmoroni@google.com \
    --to=jmoroni@google.com \
    --cc=jgg@ziepe.ca \
    --cc=leon@kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=tatyana.e.nikolova@intel.com \
    /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