mbox series

[v2,0/4] PCI: s390: Fix user-after-free and clean up

Message ID 20230306151014.60913-1-schnelle@linux.ibm.com (mailing list archive)
Headers show
Series PCI: s390: Fix user-after-free and clean up | expand

Message

Niklas Schnelle March 6, 2023, 3:10 p.m. UTC
Hi Bjorn, Hi Lukas,

This is v2 of my fix for a use-after-free of PCI MMIO resources in the
s390 PCI layer. As Bjorn found some redundant pci_bus_add_device() uses
and function zero special treatment I've added 3 cleanup patches in
addition to the fix itself. These are independent but in my opinion make
it easier to see the struct zpci_dev interactions with the common PCI
code. If you prefer I can of course split them off. As discussed this
version still uses the pci_rescan_remove lock to allow backporting but
I'll be looking into adding a more specific resource lock as a follow up.

Thanks,
Niklas

Changes since v1:
- Added clean up patches inspired by Bjorn's questions
- Removed return at end of function returning void

Niklas Schnelle (4):
  PCI: s390: Fix use-after-free of PCI resources with per-function
    hotplug
  s390/pci: only add specific device in zpci_bus_scan_device()
  s390/pci: remove redundant pci_bus_add_devices() on new bus
  s390/pci: clean up left over special treatment for function zero

 arch/s390/pci/pci.c     | 39 +++++++++++++--------------------------
 arch/s390/pci/pci_bus.c | 16 ++++++----------
 arch/s390/pci/pci_bus.h |  3 +--
 drivers/pci/bus.c       | 21 +++++++++++++++++++++
 include/linux/pci.h     |  1 +
 5 files changed, 42 insertions(+), 38 deletions(-)