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]
Message-ID: <ZFqPKU0p73sMb+IG@kernel.org>
Date:   Tue, 9 May 2023 15:21:29 -0300
From:   Arnaldo Carvalho de Melo <acme@...nel.org>
To:     Yang Jihong <yangjihong1@...wei.com>
Cc:     peterz@...radead.org, mingo@...hat.com, mark.rutland@....com,
        alexander.shishkin@...ux.intel.com, jolsa@...nel.org,
        namhyung@...nel.org, irogers@...gle.com, adrian.hunter@...el.com,
        linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] perf bpf skels: vmlinux.h uses bpf.h and perf_event.h in
 the source directory

Em Tue, May 09, 2023 at 06:36:49AM +0000, Yang Jihong escreveu:
> Currently, vmlinux.h uses the bpf.h and perf_event.h header files in the
> system path. If the header files in compilation environment are old,
> compilation may fail. For example:
> 
>   /home/yangjihong/linux/tools/perf/util/bpf_skel/.tmp/../vmlinux.h:151:27: error: field has incomplete type 'union perf_sample_weight'
>           union perf_sample_weight weight;


Can this be solved in the Makefile directives for building BPF targets?

- Arnaldo
 
> Use the bpf.h and perf_event.h files in the source code directory to
> avoid compilation compatibility problems.
> 
> Signed-off-by: Yang Jihong <yangjihong1@...wei.com>
> ---
>  tools/perf/util/bpf_skel/vmlinux.h | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/bpf_skel/vmlinux.h b/tools/perf/util/bpf_skel/vmlinux.h
> index 449b1ea91fc4..af79bcc4c4b7 100644
> --- a/tools/perf/util/bpf_skel/vmlinux.h
> +++ b/tools/perf/util/bpf_skel/vmlinux.h
> @@ -1,11 +1,13 @@
>  #ifndef __VMLINUX_H
>  #define __VMLINUX_H
>  
> -#include <linux/bpf.h>
>  #include <linux/types.h>
> -#include <linux/perf_event.h>
>  #include <stdbool.h>
>  
> +// Use header files in source directory to avoid compilation compatibility problems.
> +#include "../../../include/uapi/linux/perf_event.h"
> +#include "../../../include/uapi/linux/bpf.h"
> +
>  // non-UAPI kernel data structures, used in the .bpf.c BPF tool component.
>  
>  // Just the fields used in these tools preserving the access index so that
> -- 
> 2.30.GIT
> 

-- 

- Arnaldo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ