From: Jason Gunthorpe <jgg@nvidia.com>
To: Nishanth Aravamudan <naravamudan@nvidia.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
Alex Williamson <alex.williamson@redhat.com>,
Raphael Norwitz <raphael.norwitz@nutanix.com>,
Amey Narkhede <ameynarkhede03@gmail.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
Yishai Hadas <yishaih@nvidia.com>,
Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>,
Kevin Tian <kevin.tian@intel.com>,
kvm@vger.kernel.org
Subject: Re: [PATCH] pci: account for sysfs-disabled reset in pci_{slot,bus}_resettable
Date: Thu, 23 Jan 2025 09:33:12 -0400 [thread overview]
Message-ID: <20250123133312.GL5556@nvidia.com> (raw)
In-Reply-To: <Z5E1alwzi4YnJFLI@6121402-lcelt>
On Wed, Jan 22, 2025 at 12:14:02PM -0600, Nishanth Aravamudan wrote:
> On Mon, Jan 13, 2025 at 04:42:00PM -0400, Jason Gunthorpe wrote:
> > On Mon, Jan 06, 2025 at 03:52:31PM -0600, Nishanth Aravamudan wrote:
> > > vfio_pci_ioctl_get_pci_hot_reset_info checks if either the vdev's slot
> > > or bus is not resettable by calling pci_probe_reset_{slot,bus}. Those
> > > functions in turn call pci_{slot,bus}_resettable() to see if the PCI
> > > device supports reset.
> >
> > This change makes sense to me, but..
> >
> > > However, commit d88f521da3ef ("PCI: Allow userspace to query and set
> > > device reset mechanism") added support for userspace to disable reset of
> > > specific PCI devices (by echo'ing "" into reset_method) and
> > > pci_{slot,bus}_resettable methods do not check pci_reset_supported() to
> > > see if userspace has disabled reset. Therefore, if an administrator
> > > disables PCI reset of a specific device, but then uses vfio-pci with
> > > that device (e.g. with qemu), vfio-pci will happily end up issuing a
> > > reset to that device.
> >
> > How does vfio-pci endup issuing a reset? It looked like all the paths
> > are blocked in the pci core with pci_reset_supported()? Is there also
> > a path that vfio is calling that is missing a pci_reset_supported()
> > check? If yes that should probably be fixed in another patch.
>
> This is the path I observed:
You didn't answer the question, I didn't ask about pci_probe_*() I
asked why doesn't pci_reset_supported() directly block the actual
reset?
Should we be adding:
@@ -5919,6 +5919,9 @@ int __pci_reset_bus(struct pci_bus *bus)
*/
int pci_reset_bus(struct pci_dev *pdev)
{
+ if (!pci_reset_supported(pdev))
+ return -EOPNOTSUPP;
+
return (!pci_probe_reset_slot(pdev->slot)) ?
__pci_reset_slot(pdev->slot) : __pci_reset_bus(pdev->bus);
And maybe more?
Jason
next prev parent reply other threads:[~2025-01-23 13:33 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-06 21:52 [PATCH] pci: account for sysfs-disabled reset in pci_{slot,bus}_resettable Nishanth Aravamudan
2025-01-13 20:42 ` Jason Gunthorpe
2025-01-22 18:14 ` Nishanth Aravamudan
2025-01-23 13:33 ` Jason Gunthorpe [this message]
2025-01-23 15:14 ` Nishanth Aravamudan
2025-01-13 23:25 ` Bjorn Helgaas
2025-01-22 18:14 ` Nishanth Aravamudan
2025-01-22 19:22 ` [PATCH v2] PCI: account for sysfs-disabled reset in pci_{slot,bus}_resettable() Nishanth Aravamudan
2025-02-07 20:56 ` [PATCH v3] " Nishanth Aravamudan
2025-03-04 23:40 ` Bjorn Helgaas
2025-04-14 20:15 ` Alex Williamson
2025-04-14 21:18 ` [PATCH] Revert "PCI: Avoid reset when disabled via sysfs" Alex Williamson
2025-04-15 6:24 ` Tian, Kevin
2025-04-15 20:39 ` Bjorn Helgaas
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=20250123133312.GL5556@nvidia.com \
--to=jgg@nvidia.com \
--cc=alex.williamson@redhat.com \
--cc=ameynarkhede03@gmail.com \
--cc=bhelgaas@google.com \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=naravamudan@nvidia.com \
--cc=raphael.norwitz@nutanix.com \
--cc=shameerali.kolothum.thodi@huawei.com \
--cc=yishaih@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.