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

From: Niklas Schnelle
Date: Mon Mar 06 2023 - 10:10:32 EST


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(-)

--
2.37.2