From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754173AbdAZScq (ORCPT ); Thu, 26 Jan 2017 13:32:46 -0500 Received: from mail-it0-f50.google.com ([209.85.214.50]:35693 "EHLO mail-it0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753975AbdAZScn (ORCPT ); Thu, 26 Jan 2017 13:32:43 -0500 Date: Thu, 26 Jan 2017 11:32:33 -0700 From: Mathieu Poirier To: Alexander Shishkin Cc: Peter Zijlstra , Ingo Molnar , linux-kernel@vger.kernel.org, vince@deater.net, eranian@google.com, Arnaldo Carvalho de Melo , Will Deacon , Mark Rutland Subject: Re: [PATCH 2/3] perf: Do error out on a kernel filter on an exclude_filter event Message-ID: <20170126183233.GB1991@linaro.org> References: <20170126094057.13805-1-alexander.shishkin@linux.intel.com> <20170126094057.13805-3-alexander.shishkin@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170126094057.13805-3-alexander.shishkin@linux.intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 26, 2017 at 11:40:56AM +0200, Alexander Shishkin wrote: > It is currently possible to configure a kernel address filter for a > event that excludes kernel from its traces (attr.exclude_kernel==1). > > While in reality this doesn't make sense, the SET_FILTER ioctl() should > return a error in such case, currently it does not. Furthermore, it > will still silently discard the filter and any potentially valid filters > that came with it. > > This patch makes the SET_FILTER ioctl() error out in such cases. > > Signed-off-by: Alexander Shishkin > Cc: Mathieu Poirier > --- > kernel/events/core.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/events/core.c b/kernel/events/core.c > index b422b5feee..36770a13ef 100644 > --- a/kernel/events/core.c > +++ b/kernel/events/core.c > @@ -8261,6 +8261,7 @@ perf_event_parse_addr_filter(struct perf_event *event, char *fstr, > * attribute. > */ > if (state == IF_STATE_END) { > + ret = -EINVAL; > if (kernel && event->attr.exclude_kernel) > goto fail; Yes, I stumbled on that when implementing filters on CS and could swear I had a patch for it. It obviously never got sent out. Reviewed-by: Mathieu Poirier > > -- > 2.11.0 >