Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull perf tool fixes from Thomas Gleixner:
"A small set of fixes for perf tool:

- synchronize the i915 drm header to avoid the 'out of date' warning

- make sure that perf trace cleans up its temporary files on exit

- unbreak the build with newer flex versions

- add missing braces in the eBPF parsing rules"

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
tooling/headers: Sync the tools/include/uapi/drm/i915_drm.h UAPI header
perf trace: Call machine__exit() at exit
perf tools: Fix eBPF event specification parsing
perf tools: Add "reject" option for parse-events.l

Changed files
+14 -2
tools
include
uapi
perf
+1
tools/include/uapi/drm/i915_drm.h
··· 829 829 830 830 #define I915_EXEC_FENCE_WAIT (1<<0) 831 831 #define I915_EXEC_FENCE_SIGNAL (1<<1) 832 + #define __I915_EXEC_FENCE_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SIGNAL << 1)) 832 833 __u32 flags; 833 834 }; 834 835
+10
tools/perf/builtin-trace.c
··· 1138 1138 return err; 1139 1139 } 1140 1140 1141 + static void trace__symbols__exit(struct trace *trace) 1142 + { 1143 + machine__exit(trace->host); 1144 + trace->host = NULL; 1145 + 1146 + symbol__exit(); 1147 + } 1148 + 1141 1149 static int syscall__alloc_arg_fmts(struct syscall *sc, int nr_args) 1142 1150 { 1143 1151 int idx; ··· 2489 2481 } 2490 2482 2491 2483 out_delete_evlist: 2484 + trace__symbols__exit(trace); 2485 + 2492 2486 perf_evlist__delete(evlist); 2493 2487 trace->evlist = NULL; 2494 2488 trace->live = false;
+3 -2
tools/perf/util/parse-events.l
··· 5 5 %option stack 6 6 %option bison-locations 7 7 %option yylineno 8 + %option reject 8 9 9 10 %{ 10 11 #include <errno.h> ··· 340 339 {num_hex} { return value(yyscanner, 16); } 341 340 342 341 {modifier_event} { return str(yyscanner, PE_MODIFIER_EVENT); } 343 - {bpf_object} { if (!isbpf(yyscanner)) USER_REJECT; return str(yyscanner, PE_BPF_OBJECT); } 344 - {bpf_source} { if (!isbpf(yyscanner)) USER_REJECT; return str(yyscanner, PE_BPF_SOURCE); } 342 + {bpf_object} { if (!isbpf(yyscanner)) { USER_REJECT }; return str(yyscanner, PE_BPF_OBJECT); } 343 + {bpf_source} { if (!isbpf(yyscanner)) { USER_REJECT }; return str(yyscanner, PE_BPF_SOURCE); } 345 344 {name} { return pmu_str_check(yyscanner); } 346 345 "/" { BEGIN(config); return '/'; } 347 346 - { return '-'; }