Subject: Re: [1/2] powerpc/pseries: Fix corrupted pdn list

From: Michael Ellerman <[email-masked]>
Date: Mon, 31 Aug 2015 07:20:42 +1000 (AEST)

On Thu, 2015-27-08 at 04:12:36 UTC, Gavin Shan wrote:
> Commit cca87d30 ("powerpc/pci: Refactor pci_dn") introduced pdn
> list for SRIOV VFs. It means the pdn is be put into the child list
> of its parent pdn when the pdn is created. When doing PCI hot
> unplugging on pSeries, the PCI device node as well as its pdn are
> released through procfs entry "powerpc/ofdt". Some one else grabs
> the memory chunk of the pdn and update it accordingly. At the same
> time, the pdn is still tracked in the child list of parent pdn. It
> leads to corrupted child list in the parent pdn.
> 
> This fixes above issue by removing the pdn from the child list of
> its parent pdn when the device node is detached from the system.
> Note the pdn is free'd when the device node is released if the
> device node is dynamic one. Otherwise, the device node as well
> as the pdn won't be released.
> 
> Fixes: cca87d30 ("powerpc/pci: Refactor pci_dn")
> Reported-by: Santwana Samantray <[email-masked]>
> Signed-off-by: Gavin Shan <[email-masked]>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/590c7567a2895f939525ead5

cheers