diff options
| author | Dapeng Mi <dapeng1.mi@linux.intel.com> | 2026-06-16 12:46:51 +0800 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2026-06-30 11:46:07 +0200 |
| commit | 01c153956b4436ead05a529dae56abc0ef58beac (patch) | |
| tree | eefe21bb005fd7c2c475a6f04219ae82be883c6c /tools/perf/scripts/python | |
| parent | e2b0575900ff72aa82748af96e7bd564ade5157a (diff) | |
perf/x86/intel: Validate the return value of intel_pmu_init_hybrid()
The intel_pmu_init_hybrid() function allocates memory for the
x86_pmu.hybrid_pmu[] array. If this allocation fails under memory
pressure, hybrid PMU initialization will fail.
Currently, the caller does not check the return value of
intel_pmu_init_hybrid(). This can lead to a null-pointer dereference or
invalid memory access when attempting to use the uninitialized array,
potentially triggering a system panic.
Fix this by validating the return value of intel_pmu_init_hybrid().
Additionally, reset x86_pmu.num_hybrid_pmus to 0 on failure, and defer
intel_pmu_arch_lbr_init() until after hybrid PMU initialization
succeeds. This reordering avoids the need to explicitly destroy the
kmem cache if the memory allocation fails.
Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20260616044654.3468742-6-dapeng1.mi@linux.intel.com
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
