aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/controller/dwc/pcie-qcom-common.h
diff options
context:
space:
mode:
authorNishanth Aravamudan <[email protected]>2025-02-07 20:56:00 +0000
committerBjorn Helgaas <[email protected]>2025-03-04 23:23:21 +0000
commit479380efe1625e251008d24b2810283db60d6fcd (patch)
tree5e73c9e0c1530db5ef9ce7922157e3808fc90f5f /drivers/pci/controller/dwc/pcie-qcom-common.h
parentPCI: Log debug messages about reset method (diff)
downloadkernel-479380efe1625e251008d24b2810283db60d6fcd.tar.gz
kernel-479380efe1625e251008d24b2810283db60d6fcd.zip
PCI: Avoid reset when disabled via sysfs
After d88f521da3ef ("PCI: Allow userspace to query and set device reset mechanism"), userspace can disable reset of specific PCI devices by writing an empty string to the sysfs reset_method file. However, pci_slot_resettable() does not check pci_reset_supported(), which means that pci_reset_function() will still reset the device even if userspace has disabled all the reset methods. I was able to reproduce this issue with a vfio device passed to a qemu guest, where I had disabled PCI reset via sysfs. Add an explicit check of pci_reset_supported() in both pci_slot_resettable() and pci_bus_resettable() to ensure both the reset status and reset execution are bypassed if an administrator disables it for a device. Link: https://lore.kernel.org/r/[email protected] Fixes: d88f521da3ef ("PCI: Allow userspace to query and set device reset mechanism") Signed-off-by: Nishanth Aravamudan <[email protected]> [bhelgaas: commit log] Signed-off-by: Bjorn Helgaas <[email protected]> Cc: Alex Williamson <[email protected]> Cc: Raphael Norwitz <[email protected]> Cc: Amey Narkhede <[email protected]> Cc: Jason Gunthorpe <[email protected]> Cc: Yishai Hadas <[email protected]> Cc: Shameer Kolothum <[email protected]> Cc: Kevin Tian <[email protected]>
Diffstat (limited to 'drivers/pci/controller/dwc/pcie-qcom-common.h')
0 files changed, 0 insertions, 0 deletions