]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/perf: Fix crashes with generic_compat_pmu & BHRB
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Tue, 2 Jun 2020 02:56:12 +0000 (12:56 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 27 Aug 2020 07:41:44 +0000 (17:41 +1000)
commit3698473a427a14e198a6eef99a80660066b5e0e0
tree00437f714f58621dd249d2dc50b49b197a1f3c00
parentf7bf78e80cf00fe471e6561c3e0a542e9515cff9
powerpc/perf: Fix crashes with generic_compat_pmu & BHRB

The bhrb_filter_map ("The Branch History Rolling Buffer") callback is
only defined in raw CPUs' power_pmu structs. The "architected" CPUs
use generic_compat_pmu, which does not have this callback, and crashes
occur if a user tries to enable branch stack for an event.

This add a NULL pointer check for bhrb_filter_map() which behaves as
if the callback returned an error.

This does not add the same check for config_bhrb() as the only caller
checks for cpuhw->bhrb_users which remains zero if bhrb_filter_map==0.

Fixes: eeae864413fc ("powerpc/perf: Add generic compat mode pmu driver")
Cc: stable@vger.kernel.org # v5.2+
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200602025612.62707-1-aik@ozlabs.ru
arch/powerpc/perf/core-book3s.c