[kernel,1/2] powerpc/powernv: Fix insufficient memory allocation
mpe at ellerman.id.au
Thu May 12 21:32:42 AEST 2016
On Thu, 2016-12-05 at 05:47:09 UTC, Alexey Kardashevskiy wrote:
> The pnv_pci_init_ioda_phb() helper allocates a blob to store auxilary
> data such PE and M32/M64 segment allocation maps; this single blob has few
> partitions, size of each is derived from the PE number -
> It was assumed that the minimum PE number is 8, however it is 4 for NPU
> so the pe_alloc part was missing in the allocated blob.
> It was invisible till recently as we were not tracking used M64 segments
> and NPUs do not use M32 segments so the phb->ioda.m32_segmap
> (which was pointing to the same address as phb->ioda.pe_alloc)
> has never been written to leaving the pe_alloc memory intact.
> After 401203ac2d "powerpc/powernv: Track M64 segment consumption"
> the pe_alloc gets corrupted and PE allocation cannot work.
> This fixes the issue by enforcing the minimum PE number to 8.
> Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
> Reviewed-by: Gavin Shan <gwshan at linux.vnet.ibm.com>
Applied to powerpc next, thanks.
More information about the Linuxppc-dev