All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Yehyeong Lee" <yhlee@isslab.korea.ac.kr>
Cc: linux-rdma@vger.kernel.org
Subject: Re: [PATCH v8 3/6] IB/isert: tear connections down from an ib_client on device removal
Date: Wed, 04 Nov 2026 04:33:50 +0000	[thread overview]
Message-ID: <sashiko-outbox-196655@kernel.org> (raw)
In-Reply-To: <20261104040318.1844865-4-yhlee@isslab.korea.ac.kr>

> The RDMA_CM_EVENT_DEVICE_REMOVAL callback waits for the connection it was
> handed to reach ISER_CONN_DOWN and then frees it.  isert_release_work()
> publishes that state before it drops its reference, so the handler can free
> a connection that isert_connect_release() is still running on.  The wait
> itself deadlocks against the handler_mutex rdma_destroy_id() needs.
> 
> Register an ib_client instead, as nvmet-rdma did in commit f1d4ef7d8883
> ("nvmet-rdma: register ib_client to not deadlock in device removal"), and
> tear the device's connections down from its remove callback.  It walks
> isert_conn_list under isert_conn_mutex, takes a reference with
> kref_get_unless_zero(), tears each one down after dropping the lock, and
> asks iscsi to reinstate the session.  isert_device_put() completes
> removal_comp once the CQs and the PD are gone.  Publishing now happens in
> the same isert_conn_mutex section that tests isert_device->removing, and
> isert_np is reference counted because a connection can outlive its portal.
> [ ... ]
>    entry_SYSCALL_64_after_hwframe+0x77/0x7f
> 
> Fixes: 63b268d232b8 ("IB/isert: Properly release resources on DEVICE_REMOVAL")
> Cc: stable@vger.kernel.org
> Signed-off-by: Yehyeong Lee <yhlee@isslab.korea.ac.kr>

Sashiko has reviewed this patch and found no issues.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261104040318.1844865-1-yhlee@isslab.korea.ac.kr?part=3


  reply	other threads:[~2026-11-04  4:33 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-04  4:03 [PATCH v8 0/6] IB/isert: fix the device removal use-after-free Yehyeong Lee
2026-11-04  4:03 ` [PATCH v8 1/6] IB/isert: do not publish connections being released on a second list Yehyeong Lee
2026-11-04  4:24   ` sashiko-bot
2026-11-04  4:03 ` [PATCH v8 2/6] IB/isert: drain the QP without holding isert_conn->mutex Yehyeong Lee
2026-11-04  4:22   ` sashiko-bot
2026-11-04  4:03 ` [PATCH v8 3/6] IB/isert: tear connections down from an ib_client on device removal Yehyeong Lee
2026-11-04  4:33   ` sashiko-bot [this message]
2026-11-04  4:03 ` [PATCH v8 4/6] IB/isert: drop the promotion reference when a connection errors out Yehyeong Lee
2026-11-04  4:16   ` sashiko-bot
2026-11-04  4:03 ` [PATCH v8 5/6] IB/isert: do not build a new isert_device for a device being removed Yehyeong Lee
2026-11-04  4:20   ` sashiko-bot
2026-11-04  4:03 ` [PATCH v8 6/6] IB/isert: only reinstate a connection that reached full feature phase Yehyeong Lee
2026-11-04  4:29   ` sashiko-bot
2026-11-04 14:20 ` [PATCH v8 0/6] IB/isert: fix the device removal use-after-free Leon Romanovsky

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=sashiko-outbox-196655@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=yhlee@isslab.korea.ac.kr \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.