]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
powerpc/perf: Fix loop exit condition in nest_imc_event_init
authorAnju T Sudhakar <anju@linux.vnet.ibm.com>
Tue, 18 Dec 2018 06:20:41 +0000 (11:50 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 31 May 2019 13:43:17 +0000 (06:43 -0700)
commitef2c85e8247f0b208818fcf8037d3528c872d165
tree0aa46f9f2882b0ae4573904a0cd82e104d370dc5
parent5d98a98def4b728873af428753cd7b3353630506
powerpc/perf: Fix loop exit condition in nest_imc_event_init

[ Upstream commit 860b7d2286236170a36f94946d03ca9888d32571 ]

The data structure (i.e struct imc_mem_info) to hold the memory address
information for nest imc units is allocated based on the number of nodes
in the system.

nest_imc_event_init() traverse this struct array to calculate the memory
base address for the event-cpu. If we fail to find a match for the event
cpu's chip-id in imc_mem_info struct array, then the do-while loop will
iterate until we crash.

Fix this by changing the loop exit condition based on the number of
non zero vbase elements in the array, since the allocation is done for
nr_chips + 1.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: 885dcd709ba91 ("powerpc/perf: Add nest IMC PMU support")
Signed-off-by: Anju T Sudhakar <anju@linux.vnet.ibm.com>
Reviewed-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/perf/imc-pmu.c
arch/powerpc/platforms/powernv/opal-imc.c