Re: [PATCH] perf bpf filter: Fix a broken perf sample data naming in BPF

From: Arnaldo Carvalho de Melo
Date: Fri May 26 2023 - 14:22:10 EST


Em Thu, May 25, 2023 at 11:53:09PM -0700, John Fastabend escreveu:
> Namhyung Kim wrote:
> > BPF CO-RE requires 3 underscores for the ignored suffix rule but it
> > mistakenly used only 2. Let's fix it.
> >
> > Fixes: 3a8b8fc31748 ("perf bpf filter: Support pre-5.16 kernels where 'mem_hops' isn't in 'union perf_mem_data_src'")
> > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> > ---
> > tools/perf/util/bpf_skel/sample_filter.bpf.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/perf/util/bpf_skel/sample_filter.bpf.c b/tools/perf/util/bpf_skel/sample_filter.bpf.c
> > index cffe493af1ed..fb94f5280626 100644
> > --- a/tools/perf/util/bpf_skel/sample_filter.bpf.c
> > +++ b/tools/perf/util/bpf_skel/sample_filter.bpf.c
> > @@ -25,7 +25,7 @@ struct perf_sample_data___new {
> > } __attribute__((preserve_access_index));
> >
> > /* new kernel perf_mem_data_src definition */
> > -union perf_mem_data_src__new {
> > +union perf_mem_data_src___new {
> > __u64 val;
> > struct {
> > __u64 mem_op:5, /* type of opcode */
> > @@ -108,7 +108,7 @@ static inline __u64 perf_get_sample(struct bpf_perf_event_data_kern *kctx,
> > if (entry->part == 7)
> > return kctx->data->data_src.mem_blk;
> > if (entry->part == 8) {
> > - union perf_mem_data_src__new *data = (void *)&kctx->data->data_src;
> > + union perf_mem_data_src___new *data = (void *)&kctx->data->data_src;
> >
> > if (bpf_core_field_exists(data->mem_hops))
> > return data->mem_hops;
> > --
> > 2.41.0.rc0.172.g3f132b7071-goog
> >
> >
>
> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx>

Thanks, applied.

- Arnaldo