diff mbox series

[v2,2/4] s390/pci: only add specific device in zpci_bus_scan_device()

Message ID 20230306151014.60913-3-schnelle@linux.ibm.com
State New
Headers show
Series PCI: s390: Fix user-after-free and clean up | expand

Commit Message

Niklas Schnelle March 6, 2023, 3:10 p.m. UTC
As the name suggests zpci_bus_scan_device() is used to scan a specific
device and thus pci_bus_add_device() for that device is sufficient.
Furthermore move this call inside the rescan/remove locking.

Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
---
 arch/s390/pci/pci_bus.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Matthew Rosato March 9, 2023, 6:36 p.m. UTC | #1
On 3/6/23 10:10 AM, Niklas Schnelle wrote:
> As the name suggests zpci_bus_scan_device() is used to scan a specific
> device and thus pci_bus_add_device() for that device is sufficient.
> Furthermore move this call inside the rescan/remove locking.
> 
> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>

I think a suggested by tag from Bjorn is appropriate here

Otherwise:

Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>

> ---
>  arch/s390/pci/pci_bus.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/arch/s390/pci/pci_bus.c b/arch/s390/pci/pci_bus.c
> index a99926af2b69..ae46c280b35f 100644
> --- a/arch/s390/pci/pci_bus.c
> +++ b/arch/s390/pci/pci_bus.c
> @@ -85,9 +85,8 @@ int zpci_bus_scan_device(struct zpci_dev *zdev)
>  	if (!pdev)
>  		return -ENODEV;
>  
> -	pci_bus_add_device(pdev);
>  	pci_lock_rescan_remove();
> -	pci_bus_add_devices(zdev->zbus->bus);
> +	pci_bus_add_device(pdev);
>  	pci_unlock_rescan_remove();
>  
>  	return 0;
diff mbox series

Patch

diff --git a/arch/s390/pci/pci_bus.c b/arch/s390/pci/pci_bus.c
index a99926af2b69..ae46c280b35f 100644
--- a/arch/s390/pci/pci_bus.c
+++ b/arch/s390/pci/pci_bus.c
@@ -85,9 +85,8 @@  int zpci_bus_scan_device(struct zpci_dev *zdev)
 	if (!pdev)
 		return -ENODEV;
 
-	pci_bus_add_device(pdev);
 	pci_lock_rescan_remove();
-	pci_bus_add_devices(zdev->zbus->bus);
+	pci_bus_add_device(pdev);
 	pci_unlock_rescan_remove();
 
 	return 0;