[PATCH v3 1/2] pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv

Michael Ellerman mpe at ellerman.id.au
Fri Jun 28 14:48:00 AEST 2024


Shawn Anastasio <sanastasio at raptorengineering.com> writes:
> Hi Krishna,
>
> On 6/24/24 7:09 AM, Krishna Kumar wrote:
>> Description of the problem: The hotplug driver for powerpc
>> (pci/hotplug/pnv_php.c) gives kernel crash when we try to
>> hot-unplug/disable the PCIe switch/bridge from the PHB.
>> 
>> Root Cause of Crash: The crash is due to the reason that, though the msi
>> data structure has been released during disable/hot-unplug path and it
>> has been assigned with NULL, still during unregistartion the code was
>> again trying to explicitly disable the msi which causes the Null pointer
>> dereference and kernel crash.
>> 
>> Proposed Fix : The fix is to correct the check during unregistration path
>> so that the code should not  try to invoke pci_disable_msi/msix() if its
>> data structure is already freed.
>> 
>> Cc: Michael Ellerman <mpe at ellerman.id.au>
>> Cc: Nicholas Piggin <npiggin at gmail.com>
>> Cc: Christophe Leroy <christophe.leroy at csgroup.eu>
>> Cc: "Aneesh Kumar K.V" <aneesh.kumar at kernel.org>
>> Cc: Bjorn Helgaas <bhelgaas at google.com>
>> Cc: Gaurav Batra <gbatra at linux.ibm.com>
>> Cc: Nathan Lynch <nathanl at linux.ibm.com>
>> Cc: Brian King <brking at linux.vnet.ibm.com>
>> 
>> Signed-off-by: Krishna Kumar <krishnak at linux.ibm.com>
>
> As with v1, I can confirm that this patch solves the panic encountered
> when hotplugging PCIe bridges on POWER9.

Was the panic reported anywhere? So we can link to the report in the
commit.

cheers


More information about the Linuxppc-dev mailing list