diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 2870feee81dd..8465baf40087 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -1872,8 +1872,7 @@ static int alloc_callchain_buffers(void) * accessed from NMI. Use a temporary manual per cpu allocation * until that gets sorted out. */ - size = sizeof(*entries) + sizeof(struct perf_callchain_entry *) * - num_possible_cpus(); + size = offsetof(struct callchain_cpus_entries, cpu_entries[nr_cpu_ids]); entries = kzalloc(size, GFP_KERNEL); if (!entries)