From: sashiko-bot@kernel.org
To: "Srirangan Madhavan" <smadhavan@nvidia.com>
Cc: linux-pci@vger.kernel.org
Subject: Re: [PATCH v6 6/9] cxl/pci: Track memdevs affected by CXL reset
Date: Thu, 28 May 2026 11:36:16 +0000 [thread overview]
Message-ID: <20260528113617.539F71F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260528083154.137979-7-smadhavan@nvidia.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Inactive CXL memdevs are skipped during lock acquisition, allowing concurrent driver binding and hardware access during PCI reset.
--
commit 89d0ec881cc974737d27ee49108cc6db271b06d5
Author: Srirangan Madhavan <smadhavan@nvidia.com>
cxl/pci: Track memdevs affected by CXL reset
This commit adds context tracking for memdevs affected by a CXL reset. It
collects memdevs associated with the target and sibling PCI functions,
identifies which ones are active, and provides helpers to lock them before
the reset proceeds.
> diff --git a/drivers/cxl/core/pci.c b/drivers/cxl/core/pci.c
> index 1dd880f5a333f..c755c18c8d84a 100644
> --- a/drivers/cxl/core/pci.c
> +++ b/drivers/cxl/core/pci.c
[ ... ]
> +static int __maybe_unused cxl_reset_lock_memdevs(struct cxl_reset_context *ctx)
> +{
> + int i;
> +
> + lockdep_assert_held_write(&cxl_rwsem.region);
> +
> + for (i = 0; i < ctx->nr_memdevs; i++) {
> + struct cxl_reset_memdev *rmd = &ctx->memdevs[i];
> + struct cxl_memdev *cxlmd = rmd->cxlmd;
> +
> + if (!rmd->active)
> + continue;
> +
[Severity: High]
Does skipping the device lock for inactive memdevs allow concurrent driver
binding during the PCI reset?
The device lock on the cxl_memdev is used by the driver core to serialize
binding in device_driver_attach(). If a memdev is inactive, skipping this
lock might allow userspace to trigger a driver bind exactly when the
underlying PCI function is disabled and undergoing a physical reset.
Could the concurrent probe proceed to access CXL MMIO registers while the
device is resetting, potentially resulting in PCIe Completion Timeouts or
Unsupported Requests and triggering an AER panic? Should all associated
memdevs be unconditionally locked to block concurrent probe and remove
operations?
> + if (!device_trylock(&cxlmd->dev))
> + goto err;
> +
> + rmd->locked = true;
> + if (!cxl_reset_memdev_active(cxlmd)) {
> + cxl_reset_unlock_memdevs(ctx);
> + return -ENODEV;
> + }
> + }
> +
> + return 0;
> +
> +err:
> + cxl_reset_unlock_memdevs(ctx);
> + return -EAGAIN;
> +}
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260528083154.137979-1-smadhavan@nvidia.com?part=6
next prev parent reply other threads:[~2026-05-28 11:36 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-28 8:31 [PATCH v6 0/9] cxl: Add cxl_reset sysfs attribute for memdevs Srirangan Madhavan
2026-05-28 8:31 ` [PATCH v6 1/9] cxl/hdm: Add helpers to restore and commit memdev decoders Srirangan Madhavan
2026-05-28 9:12 ` sashiko-bot
2026-05-28 11:06 ` Richard Cheng
2026-06-02 18:12 ` Dave Jiang
2026-06-02 18:31 ` Dave Jiang
2026-06-02 20:34 ` Cheatham, Benjamin
2026-06-03 22:35 ` Dan Williams (nvidia)
2026-05-28 8:31 ` [PATCH v6 2/9] PCI: Export pci_dev_save_and_disable() and pci_dev_restore() Srirangan Madhavan
2026-06-02 20:18 ` Dave Jiang
2026-06-03 22:36 ` Dan Williams (nvidia)
2026-05-28 8:31 ` [PATCH v6 3/9] cxl: Add reset-idle and cache flush helpers Srirangan Madhavan
2026-05-28 10:09 ` sashiko-bot
2026-06-02 20:34 ` Cheatham, Benjamin
2026-06-02 20:36 ` Dave Jiang
2026-06-04 2:49 ` Dan Williams (nvidia)
2026-05-28 8:31 ` [PATCH v6 4/9] PCI/CXL: Add sibling function coordination for reset Srirangan Madhavan
2026-05-28 10:41 ` sashiko-bot
2026-05-28 11:15 ` Richard Cheng
2026-06-02 22:10 ` Dave Jiang
2026-06-04 3:13 ` Dan Williams (nvidia)
2026-05-28 8:31 ` [PATCH v6 5/9] cxl/pci: Add CXL DVSEC reset helper Srirangan Madhavan
2026-05-28 11:05 ` sashiko-bot
2026-06-02 20:34 ` Cheatham, Benjamin
2026-05-28 8:31 ` [PATCH v6 6/9] cxl/pci: Track memdevs affected by CXL reset Srirangan Madhavan
2026-05-28 11:36 ` sashiko-bot [this message]
2026-06-02 20:34 ` Cheatham, Benjamin
2026-05-28 8:31 ` [PATCH v6 7/9] cxl/pci: Orchestrate CXL reset for affected memdevs Srirangan Madhavan
2026-05-28 12:25 ` sashiko-bot
2026-06-02 20:34 ` Cheatham, Benjamin
2026-06-04 3:25 ` Dan Williams (nvidia)
2026-05-28 8:31 ` [PATCH v6 8/9] cxl/memdev: Add cxl_reset sysfs attribute Srirangan Madhavan
2026-05-28 13:03 ` sashiko-bot
2026-06-02 21:35 ` Cheatham, Benjamin
2026-06-02 23:50 ` Dave Jiang
2026-05-28 8:31 ` [PATCH v6 9/9] Documentation/ABI: Document CXL memdev cxl_reset Srirangan Madhavan
2026-06-03 0:11 ` Dave Jiang
2026-06-02 20:34 ` [PATCH v6 0/9] cxl: Add cxl_reset sysfs attribute for memdevs Cheatham, Benjamin
2026-06-02 21:42 ` Dan Williams (nvidia)
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=20260528113617.539F71F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=smadhavan@nvidia.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 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.