Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753328AbcD0ID6 (ORCPT ); Wed, 27 Apr 2016 04:03:58 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:34943 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753194AbcD0IDu (ORCPT ); Wed, 27 Apr 2016 04:03:50 -0400 Date: Wed, 27 Apr 2016 10:03:45 +0200 From: Ingo Molnar To: Adam Borowski Cc: linux-kernel@vger.kernel.org, Stephane Eranian , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Borislav Petkov Subject: Re: [PATCH] perf/x86/amd: Explicitly define PERF_COUNT_HW_REF_CPU_CYCLES as undefined. Message-ID: <20160427080345.GB16991@gmail.com> References: <1461719993-12461-1-git-send-email-kilobyte@angband.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1461719993-12461-1-git-send-email-kilobyte@angband.pl> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1215 Lines: 34 * Adam Borowski wrote: > filter_events() relies on the value of 0 to remove events that are not > applicable, like this one. > > UBSAN: Undefined behaviour in arch/x86/events/amd/core.c:132:30 > index 9 is out of range for type 'u64 [9]' > UBSAN: Undefined behaviour in arch/x86/events/amd/core.c:132:9 > load of address ffffffff81c021c8 with insufficient space > for an object of type 'const u64' > > Signed-off-by: Adam Borowski > --- > arch/x86/events/amd/core.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/x86/events/amd/core.c b/arch/x86/events/amd/core.c > index 86a9bec..5fa1b8e 100644 > --- a/arch/x86/events/amd/core.c > +++ b/arch/x86/events/amd/core.c > @@ -125,6 +125,7 @@ static const u64 amd_perfmon_event_map[] = > [PERF_COUNT_HW_BRANCH_MISSES] = 0x00c3, > [PERF_COUNT_HW_STALLED_CYCLES_FRONTEND] = 0x00d0, /* "Decoder empty" event */ > [PERF_COUNT_HW_STALLED_CYCLES_BACKEND] = 0x00d1, /* "Dispatch stalls" event */ > + [PERF_COUNT_HW_REF_CPU_CYCLES] = 0, > }; Hm, I think it would be cleaner and more robust to change this (and all other similar, if any) arrays to [PERF_COUNT_HW_MAX] instead. Thanks, Ingo