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

From: Michael Ellerman
Date: Fri Jun 28 2024 - 00:48:21 EST


Shawn Anastasio <sanastasio@xxxxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx>
>> Cc: Nicholas Piggin <npiggin@xxxxxxxxx>
>> Cc: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
>> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxx>
>> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>> Cc: Gaurav Batra <gbatra@xxxxxxxxxxxxx>
>> Cc: Nathan Lynch <nathanl@xxxxxxxxxxxxx>
>> Cc: Brian King <brking@xxxxxxxxxxxxxxxxxx>
>>
>> Signed-off-by: Krishna Kumar <krishnak@xxxxxxxxxxxxx>
>
> 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