lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 4 Oct 2017 12:30:52 +0200
From:   Jiri Olsa <jolsa@...hat.com>
To:     Arnaldo Carvalho de Melo <acme@...nel.org>
Cc:     Jiri Olsa <jolsa@...nel.org>, Wang Nan <wangnan0@...wei.com>,
        Andi Kleen <andi@...stfloor.org>, linux-kernel@...r.kernel.org,
        Andi Kleen <ak@...ux.intel.com>, He Kuang <hekuang@...wei.com>,
        Alexei Starovoitov <ast@...com>
Subject: Re: [PATCH 2/2] perf, tools: Don't force MetricExprs to lower case

On Tue, Oct 03, 2017 at 01:06:05PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Sep 12, 2017 at 12:56:43PM -0700, Andi Kleen escreveu:
> > From: Andi Kleen <ak@...ux.intel.com>
> > 
> > There are still problems with BPF misinterpreting some events
> > that include .c. An earlier fix made it work for stand alone
> > aliases, but it still fails for more complex constructs.
> 
> Hi Wang, Jiri,
> 
> 	Can you please take a look at this and see if there is something
> we can do to help Andi?
> 
> - Arnaldo
>  
> > REJECT keeps trying and trying a shorter string until
> > .c is matched and it appears like a valid BPF path.
> > 
> > % perf stat -e cpu/uops_executed.core,cmask=1/ true
> > bpf: builtin compilation failed: -95, try external compiler
> > ERROR: problems with path cpu/uops_executed.c: No such file or directory
> > event syntax error: 'cpu/uops_executed.core,cmask=1/'
> >                      \___ Failed to load cpu/uops_executed.c from source: Error when compiling BPF scriptlet
> > 
> > I tried to fix it, but it exceeds my flex knowledge, because
> > REJECT does not interact well with BEGIN states.
> > 
> > The BPF syntax in its current form really causes an ambigious
> > grammar.

right, it looks like we allow whole path (including / char)
for BPF file, which messes up with out pmu/.../ syntax

do we need that? (Cc-ed some bpf folks)

if not attached patch seems to fix things.. otherwise
we need to come up with another fix

thanks,
jirka


---
diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l
index ea2426daf7e8..e3c602f4bbbf 100644
--- a/tools/perf/util/parse-events.l
+++ b/tools/perf/util/parse-events.l
@@ -151,8 +151,8 @@ do {							\
 group		[^,{}/]*[{][^}]*[}][^,{}/]*
 event_pmu	[^,{}/]+[/][^/]*[/][^,{}/]*
 event		[^,{}/]+
-bpf_object	[^,{}]+\.(o|bpf)[a-zA-Z0-9._]*
-bpf_source	[^,{}]+\.c[a-zA-Z0-9._]*
+bpf_object	[^,{}/]+\.(o|bpf)[a-zA-Z0-9._]*
+bpf_source	[^,{}/]+\.c[a-zA-Z0-9._]*
 
 num_dec		[0-9]+
 num_hex		0x[a-fA-F0-9]+

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ