lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <36276ba1-fc2c-418d-a80e-388e1f7988ed@raptorengineering.com>
Date: Thu, 27 Jun 2024 12:11:17 -0500
From: Shawn Anastasio <sanastasio@...torengineering.com>
To: Krishna Kumar <krishnak@...ux.ibm.com>, mpe@...erman.id.au,
 npiggin@...il.com
Cc: nathanl@...ux.ibm.com, aneesh.kumar@...nel.org,
 linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
 christophe.leroy@...roup.eu, gbatra@...ux.ibm.com, bhelgaas@...gle.com,
 tpearson@...torengineering.com, oohall@...il.com, brking@...ux.vnet.ibm.com,
 mahesh.salgaonkar@...ibm.com, linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH v3 2/2] powerpc: hotplug driver bridge support

Hi Krishna,

On 6/24/24 7:09 AM, Krishna Kumar wrote:
> There is an issue with the hotplug operation when it's done on the
> bridge/switch slot. The bridge-port and devices behind the bridge, which
> become offline by hot-unplug operation, don't get hot-plugged/enabled by
> doing hot-plug operation on that slot. Only the first port of the bridge
> gets enabled and the remaining port/devices remain unplugged. The hot
> plug/unplug operation is done by the hotplug driver
> (drivers/pci/hotplug/pnv_php.c).
> 
> Root Cause Analysis: This behavior is due to missing code for the
> switch/bridge. The existing driver depends on pci_hp_add_devices()
> function for device enablement. This function calls pci_scan_slot() on
> only one device-node/port of the bridge, not on all the siblings'
> device-node/port.
> 
> The missing code needs to be added which will find all the sibling
> device-nodes/bridge-ports and will run explicit pci_scan_slot() on
> those.  A new function has been added for this purpose which gets
> invoked from pci_hp_add_devices(). This new function
> pci_traverse_sibling_nodes_and_scan_slot() gets all the sibling
> bridge-ports by traversal and explicitly invokes pci_scan_slot on them.
> 
> Cc: Michael Ellerman <mpe@...erman.id.au>
> Cc: Nicholas Piggin <npiggin@...il.com>
> Cc: Christophe Leroy <christophe.leroy@...roup.eu>
> Cc: "Aneesh Kumar K.V" <aneesh.kumar@...nel.org>
> Cc: Bjorn Helgaas <bhelgaas@...gle.com>
> Cc: Gaurav Batra <gbatra@...ux.ibm.com>
> Cc: Nathan Lynch <nathanl@...ux.ibm.com>
> Cc: Brian King <brking@...ux.vnet.ibm.com>
> 
> Signed-off-by: Krishna Kumar <krishnak@...ux.ibm.com>

Other than the case with NVMe devices failing that we discussed in v1's
thread, I can confirm that this patch resolves many of the issues we've
encountered with PCIe hotplug on POWER9.

Tested-by: Shawn Anastasio <sanastasio@...torengineering.com>

Thanks,
Shawn

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ